Я создаю приложение WPF с использованием MVVM. Приложение управляет помеченными документами, называемыми Notes, аналогично сообщениям в блоге. Примечание имеет заголовок, текст и коллекцию тегов. Я хочу проверить Примечание во время его подачи по двум правилам проверки:
- Заголовок не может быть пустым; и
- В примечании должен быть хотя бы один тег.
Если проверка не пройдена, отправка заметки отменяется, нарушающий контроль в пользовательском интерфейсе должен получить фамильный красный контур, а подсказка должна объяснить ошибку. Все это кажется довольно простым, если кто-то хочет проверить в тот момент, когда элемент управления WPF обновляет свой источник привязки. Просто создайте пользовательский ValidationRule
и добавьте его в коллекцию <Binding.ValidationRules>
.
Моя проблема в том, что я хочу проверять, когда отправляется примечание, а не когда элементы управления обновляют свои источники привязки. Я знаю, что могу создать собственное сообщение об ошибке и отобразить его в MessageBox, но я бы предпочел использовать подход с красным контуром-подсказкой - он менее навязчивый. Я полагаю, что должен быть какой-то простой способ сделать это.
У меня довольно простой вопрос: каков наилучший способ проверки при отправке в WPF / MVVM? Как мой код указывает интерфейсу пользователя отображать красный контур ошибки при сбое проверки? Спасибо за вашу помощь.