将IDataErrorInfo绑定到窗口的IsEnabled按钮属性

3
我有一个WPF子窗口,其中包含一些输入控件,用户必须正确填写后才能按下“确定”按钮。
我已经实现了接口IDataErrorInfo来验证所有绑定到UI控件的属性。
现在我想让“确定”按钮的IsEnabled属性仅在所有控件都有效时为True,否则必须设置为False。
这应该很容易,但我找不到正确的解决方案。你有什么建议吗?
提前致谢!
1个回答

1

Ciao ;-)

我认为你可以将按钮的IsEnabled属性绑定到你的数据的IDataErrorInfo.Error属性(例如)通过一个你需要实现的IValueConverter,它将从string转换为bool(例如,如果值是String.Empty,则返回true)。

另一种解决方案是使用Command并将此逻辑包含在CanExecute中:这样,您只需将Command与您的Button关联即可。 希望对你有所帮助。


@Fabrizio 谢谢你,Fabrizio。我会尝试你的建议,并尽快回来告诉你结果 ;) - Drake
我尝试使用IDataErrorInfo.Error属性进行实现。实际上,我已经将其绑定到了IsEnable按钮属性上,并使用转换器进行了转换,但是它并没有起作用。可能我应该实现一个事件并在按钮触发器中进行绑定。不太确定。 - Drake

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接