Проверка текстового поля в Windows Phone 7. Я ТОЛЬКО хочу цифры - PullRequest
2 голосов
/ 30 декабря 2010

Кажется, я не могу заставить это работать .. На WP7 значение '%' совпадает с '5' в том, что касается e.Key. Как получить ТОЛЬКО числа ...

Или есть элемент управления текстовым полем WP7 с открытым исходным кодом, который будет работать подобно элементу инструментария элемента управления AJAX, поэтому я могу сказать ... Вот текстовое поле .. ТОЛЬКО РАЗРЕШИТЬ НОМЕРА ..?

if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
        {
            e.Handled = false;
            return;
        }

тогда вся функция равна

  private void HandleKeyEvent(KeyEventArgs e)
    {
        e.Handled = true;

        if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
        {
            e.Handled = false;
            return;
        }

        if (e.Key == Key.Back || e.Key == Key.Delete || e.Key == Key.Left || e.Key == Key.Right ||
            e.Key == Key.D0 || e.Key == Key.D1 || e.Key == Key.D2 || e.Key == Key.D3 || e.Key == Key.D4 || e.Key == Key.D5 || e.Key == Key.D6 ||
            e.Key == Key.D7 || e.Key == Key.D8 || e.Key == Key.D9 ||
            e.Key == Key.NumPad0 || e.Key == Key.NumPad1 || e.Key == Key.NumPad2 || e.Key == Key.NumPad3 || e.Key == Key.NumPad4 || e.Key == Key.NumPad5 || e.Key == Key.NumPad6 ||
            e.Key == Key.NumPad7 || e.Key == Key.NumPad8 || e.Key == Key.NumPad9)
        {
            e.Handled = false;
            //return;
        }

        if ((e.Key == Key.Subtract || (e.Key == Key.Unknown && e.PlatformKeyCode == 189)) && base.SelectionStart == 0 && (base.Text.Length == 0 || base.Text[0] != '-'))
        {
            e.Handled = false;
        }

        if (this.Text.Length > 3)
        {
            e.Handled = true;
        }    
    }

1 Ответ

6 голосов
/ 30 декабря 2010

Следующая ссылка будет очень полезна для вас. Я считаю, TextBox Numbers Only WP7 . Это объясняет, что вы хотите в деталях.

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