ItemsControl中的Usercontrol验证

时间:2012-01-17 15:52:21

标签: wpf user-controls itemscontrol validationerror

我正在使用MVVM开发一个WPF应用程序,但是我没有使用任何MVVM轻量级等MVVM框架。我创建了用户控件来托管至少8到9个控件,这显示在主窗口的ItemControl中。主窗口有保存和关闭按钮。我已经实现了Custom DataValidation,如果任何控件都有数据验证,它会禁用Save按钮。这在所有其他控件中按预期工作,但不适用于ItemControl。用户控件具有数据验证并显示验证错误,但我无法禁用保存按钮。任何帮助将非常感激。如果您需要其他详细信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

要启用或停用按钮,您必须考虑使用MVVM Commands

它们允许您使用CanExecute()委托功能将命令绑定到按钮(例如“保存”)。此CanExecute()可以检查ItemsControl上的任何用户控件是否无效(使用用户控件的有效性属性),然后返回false。

CanExecute()几乎每次渲染UI都会被解雇,因此它有点可观察