#silverlight #data-binding #mvvm #idataerrorinfo
#silverlight #привязка данных #mvvm #idataerrorinfo
Вопрос:
Я пытаюсь разобраться со всеми возможными ошибками, когда свойство получает свое значение через привязку (MVVM), например, находясь вне заданного диапазона.
Это работает идеально, используя «ValidatesOnDataErrors» в элементе управления, который я хочу проверить.
Проблема возникает, когда я пытаюсь проверить, принимается ли данное значение этим свойством в ModelView.
Например, когда я пишу «june» в элементе управления DateTimePicker, привязка нарушается (свойство DateTime), поэтому оно никогда не получает своего значения, и я не могу контролировать ошибки так же, как я делаю с остальными правилами.
Как мне следует попробовать это? Есть ли какое-либо решение?
Заранее спасибо!!
Ответ №1:
Решение было действительно простым!!
Если у вас есть свойство DateTime, привязанное к текстовому полю, достаточно установить «ValidatesOnExceptions= True» в инструкции привязки из XAML.
Если вы просто хотите разобрать это самостоятельно, вы должны использовать ValidatesOnDataErrors= True и создать функцию проверки для создания сообщения.