У меня есть сценарий с некоторой вложенной моделью, на которую я хочу выполнить проверку.Вложенная проверка не обновляется при изменении дочерней VM
Поскольку мой пользовательский интерфейс реализует поведение перетаскивания с MVVM, и я не хочу вставлять эту логику в модель, для некоторых моих классов моделей есть виртуальная машина.
Например, SiteConfiguration
имеет виртуальную машину с именем SiteConfigurationViewModel
.
В таком случае SiteConfigurationViewModel
имеет свойство типа SiteConfiguration
, которое предоставляет модель.
Корневая виртуальная машина содержит список виртуальных машин верхнего уровня, а представление (DataWindow
) имеет некоторую привязку для отображения списка экземпляров виртуальных машин() и выбранного экземпляра, который пользователь может редактировать.
Я пытаюсь выполнить проверку, но когда я изменяю значения во вложенной VM/Model, ошибки верхнего окна не обновляются.
Я пробовал много вариантов (например, аннотации проверки, переопределяя ValidateFields
и ValidateBusinessRules
, ViewModelToModel
), но я думаю, что я делаю что-то неправильно.
Я добавил свойство в VM с атрибутом ViewModelToModel, и теперь он проверяет и обновляет модель, но однажды ... если я введу значение и затем сброшу его, новое предупреждение НЕ отображается в списке ошибок DataWindow , Кроме того, кнопка OK не включена/отключена в зависимости от наличия ошибок. –