我有一个带有一些输入控件的WPF子窗口,用户必须在按下确定按钮之前正确填充这些控件。
我已经实现了接口 IDataErrorInfo 来验证绑定到UI控件的所有属性。
现在我希望Ok按钮的 IsEnabled 属性仅当所有控件都有效时才 True ,否则必须设置为 False
应该很容易,但我找不到正确的解决方案。你有什么建议吗?
提前致谢!
答案 0 :(得分:1)
Ciao; - )
我认为您可以通过从IsEnabled
转换的IValueConverter(您必须实现)将按钮的IDataErrorInfo.Error
属性绑定到(例如)数据的string
属性至bool
(例如,如果值为String.Empty
而不是返回true
)。
另一种解决方案是使用Command
并将此逻辑包含在CanExecute
中:这样您就必须将Command
与Button
相关联。
HTH