我正在使用MVVM开发一个WPF应用程序,但是我没有使用任何MVVM轻量级等MVVM框架。我创建了用户控件来托管至少8到9个控件,这显示在主窗口的ItemControl中。主窗口有保存和关闭按钮。我已经实现了Custom DataValidation,如果任何控件都有数据验证,它会禁用Save按钮。这在所有其他控件中按预期工作,但不适用于ItemControl。用户控件具有数据验证并显示验证错误,但我无法禁用保存按钮。任何帮助将非常感激。如果您需要其他详细信息,请与我们联系。
答案 0 :(得分:0)
要启用或停用按钮,您必须考虑使用MVVM Commands。
它们允许您使用CanExecute()
委托功能将命令绑定到按钮(例如“保存”)。此CanExecute()
可以检查ItemsControl
上的任何用户控件是否无效(使用用户控件的有效性属性),然后返回false。
CanExecute()
几乎每次渲染UI都会被解雇,因此它有点可观察。