TextBox, который ограничивает количество разрешенных символов в строке (и гарантирует, что все они являются заглавными буквами) - PullRequest
1 голос
/ 07 апреля 2011

Я хочу получить набор из некоторого количества букв (по умолчанию 7) от пользователя в приложении WP7.Я пытаюсь использовать TextBox, хотя я не женат на этой идее.Мой текущий план состоит в том, чтобы использовать технику, описанную в Создание номеров TextBox Only для Windows Phone 7 , чтобы ограничить символы буквами (и преобразовать их в прописные) в событии KeyUp.Насколько я могу судить, нет другого хорошего способа сделать это.

Я делаю то же самое для ограничения количества символов - если длина текста в TextBox> 7, яудалите символ.

Я уже сталкивался с ошибкой в ​​моей реализации (как мне обработать клавишу Backspace, особенно с первым символом в TextBox), что заставляет меня предположить, что с этой реализацией много проблем.

Есть ли лучший способ ограничить длину текста в TextBox?

Ответы [ 2 ]

6 голосов
/ 07 апреля 2011

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

Используйте обработчик события key up для изменения регистра.

0 голосов
/ 06 июня 2015

Я понимаю, что это довольно старая запись. Maxlength не работал для меня в проекте Windows Phone 8.1, поэтому я создал обработчик событий ниже:

private void txtBox_TextChanged(object sender, TextChangedEventArgs e)
{
    if (txtBox.Text.Length > 7)
    {
        txtBox.Text = txtBox.Text.Substring(0, 7);
        // the cursor is now at the beginning of the box
        // set it back to the end so there is no overwriting
        txtBox.SelectionStart = txtBox.Text.Length;
        txtBox.SelectionLength = 0;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...