Есть ли способ установить текстовое поле UWP для перезаписи? - PullRequest
0 голосов
/ 29 июня 2019

Мне нужно реализовать текстовое поле в UWP с перезаписью - когда пользователь печатает поверх существующего текста, я хочу, чтобы старый символ был удален, а не вставлен.

Я пробовал то же решение, которое работало с WPF, но в UWP

нет TextEditor или чего-либо подобного

Ответы [ 2 ]

0 голосов
/ 30 июня 2019

Используйте событие GettingFocus и свойство PlaceholerText.

private void TextBox_GettingFocus(UIElement sender, GettingFocusEventArgs args)
{
    var textbox = (sender as TextBox);
    textbox.PlaceholderText = textbox.Text;
    textbox.Text = "";
}

Используйте событие LosingFocus, чтобы определить, изменился ли текст, а если текст не изменился, восстановить старый текст.

private void TextBox_LosingFocus(UIElement sender, LosingFocusEventArgs args)
{
    var textbox = (sender as TextBox);
    // if the user didnt change the text, restore the old text input
    if (textbox.Text == "")
    {
        textbox.Text = textbox.PlaceholderText;
        textbox.PlaceholderText = "";
    }
}
0 голосов
/ 30 июня 2019

Используйте для текста свойство PlaceholderText .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...