У меня есть приложение Silverlight 3 с двумя датчиками для даты начала и окончания.
Это данные, привязанные к бизнес-объекту, который реализует логику проверки так, что StartDate должен быть до EndDate, а EndDate должен быть после StartDate.
Пока все хорошо - оба элемента управления отображают соответствующую ошибку проверки, когда в соответствующем установщике возникает исключение проверки.
Моя проблема в том, что если пользователь изменяет «другой» элемент управления так, что «недопустимая» дата в первом элементе управления теперь действительна, состояние первого элемента управления не изменяется (поскольку его установщик не был вызван).
Например, если я установил StartDate на 15 декабря 2009 года, а EndDate на 10 декабря 2009 года, элемент управления EndDate правильно перейдет в недопустимое состояние. Если пользователь изменяет StartDate на 9 декабря 2009 года, элемент управления EndDate по-прежнему помечается как недействительный, поскольку пользовательский интерфейс не вызвал установщик EndDate.
Существует ли «чистый» метод MVVM-стиля для принудительного повторного подтверждения пользовательского интерфейса?