【发布时间】:2012-04-16 16:41:37
【问题描述】:
我有一个带有许多控件的基于 MVVM 的窗口,我的模型实现了IDataErrorInfo。
还有一个SaveCommand 按钮,通过分析Model.Error 属性来执行验证。
只有当我更改特定控件的值,或者当我使用 PropertyChanged 通知该属性的更改时,视图才会在有错误的控件周围显示默认的红色边框。
即使我没有触摸控件,如何强制 View 显示所有验证错误?
我所有的验证绑定都包括ValidatesOnDataErrors=True, NotifyOnValidationError=True。
我知道一种解决方案是使用一个包含所有错误的聚合框,但我更愿意在每个控件的基础上显示错误。
我不想为 ViewModel 中的每个绑定属性触发 Model.NotifyPropertyChanged。
我使用的是 WPF 4.0,而不是 Silverlight,所以 INotifyDataErrorInfo 不起作用。
【问题讨论】:
标签: c# wpf validation mvvm idataerrorinfo