WPF: проверка объекта при отправке - PullRequest
0 голосов
/ 05 апреля 2010

Я создаю приложение WPF с использованием MVVM. Приложение управляет помеченными документами, называемыми Notes, аналогично сообщениям в блоге. Примечание имеет заголовок, текст и коллекцию тегов. Я хочу проверить Примечание во время его подачи по двум правилам проверки:

  • Заголовок не может быть пустым; и
  • В примечании должен быть хотя бы один тег.

Если проверка не пройдена, отправка заметки отменяется, нарушающий контроль в пользовательском интерфейсе должен получить фамильный красный контур, а подсказка должна объяснить ошибку. Все это кажется довольно простым, если кто-то хочет проверить в тот момент, когда элемент управления WPF обновляет свой источник привязки. Просто создайте пользовательский ValidationRule и добавьте его в коллекцию <Binding.ValidationRules>.

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

У меня довольно простой вопрос: каков наилучший способ проверки при отправке в WPF / MVVM? Как мой код указывает интерфейсу пользователя отображать красный контур ошибки при сбое проверки? Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 05 апреля 2010

Один из вариантов - использовать IDataErrorInfo в сочетании с WPF .

Это позволит довольно легко справиться с этим сценарием. Вы можете просто установить информацию IDataErrorInfo во время отправки, что приведет к появлению «красного контура» (или другой ошибки).

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