带有ICommand的WPF验证(IDataErrorInfo)

时间:2014-04-10 08:43:36

标签: wpf mvvm icommand idataerrorinfo

我在ViewModel中使用ICommand来添加/删除集合中的项目等。

我还有验证属于模型类以验证文本框等。

有没有办法可以使用两个(ViewModel中的ICommand +模型中的验证)来禁用按钮,如果文本框验证失败?我问,因为ICommand暴露了CanExecute事件,所以我想使用它是明智的!

1 个答案:

答案 0 :(得分:1)

你的想法是正确的。实现一个CanExecute方法,该方法返回模型验证的结果,以便在失败时,该按钮将被禁用。

然后,您必须确保在验证条件更改时再次调用CanExecute - 例如,绑定属性发生更改时。为此,请you may require more advanced implementations Prism's DelegateCommand {{3}},如{{3}}。