Silverlight: проверить, как только пользователь сфокусируется на текстовом поле? - PullRequest
2 голосов
/ 03 октября 2010

Я создаю приложение SL4. В настоящее время моя проверка работает по следующему сценарию:

  • Пользователь фокусируется на текстовом поле
  • Пользователь вводит недействительные данные
  • Пользователь теряет фокус на текстовом поле

Однако, это не работает для этого:

  • Пользователь фокусируется на текстовом поле, которое уже содержит недействительные данные
  • Пользователь теряет фокус на текстовом поле

Как я могу получить подтверждение для запуска во втором случае?

Причина, по которой я это делаю, заключается в том, что у меня есть поле «Имя», которое изначально пусто, но должно быть заполнено. Если пользователь пропустит его, я хотел бы отметить ошибку.

Ответы [ 2 ]

1 голос
/ 03 октября 2010

Начиная с вашего имени: есть встроенный [Обязательный] валидатор, который вы можете использовать.Будет ли это работать, зависит от того, как вы реализовали свою форму ввода.

Если в описываемом вами сценарии это не сработает, вы можете написать метод для вызова на Submit, LostFocus или там, где это подходитрешение, которое просматривает визуальное дерево, содержащее вашу форму, и запускает проверки.

0 голосов
/ 16 октября 2010

Проверка происходит, как только новые данные передаются из пользовательского интерфейса в модель представления. По умолчанию это происходит при потере фокуса, но вы можете изменить это значение по умолчанию: либо каждый раз при изменении ввода (нажата нер-клавиша), либо вручную (вызывая метод класса привязки).

В любом случае, пользователю очень сложно увидеть недействительные данные при появлении формы .... Пожалуйста, избегайте этого. Выполните ручную проверку Validatio перед показом формы .... и затем попытайтесь исправить или отменить недействительные данные перед их отображением.

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