Ответ 1
IValidatableObject
- это интерфейс для проверки ошибок всего уровня объекта. Вы несете ответственность за ее реализацию, проверяя аннотации данных или другие методы. MVC имеет встроенную поддержку аннотаций данных, поэтому вы можете просто использовать их без дополнительной поддержки.
Наоборот, wpf ТОЛЬКО ПОДДЕРЖИВАЕТ IDataErrorInfo
. Он не поддерживает IValidateObject
или DataAnnotations.
Однако я реализовал объект-оболочку, который добавляет поддержку DataAnnotation в Wpf к обернутому объекту. Он также обеспечивает реализацию IPropertyChanged
. См. Инструмент проверки достоверности для Wpf и Silverlight на codeplex