我有一个文本框,其Text
属性绑定到视图模型中的整数属性。如果用户输入的文本是整数,则WPF会自动验证。这个功能对我有好处,因此我不需要构建额外的验证。
现在我有一个按钮,其Command
属性绑定到同一视图模型中的命令,如果有任何验证错误,我希望该命令的CanExecute
方法返回false。 / p>
是否有可能在视图模型中知道是否存在任何验证错误?
答案 0 :(得分:1)
我想提出这个问题:
HasErrors
属性。HasErrors
属性设置为true
如果有错误,或者如果没有错误则将其设置为false。CanExecute
方法:检查HasErrors
属性
上述步骤是实现.NET 4.5中引入的INotifyDataErrorInfo
接口(参见this文章)的简化版本。
如果您愿意,您也可以完全实现此链接文章中描述的界面,但我认为这比您的需要更多。
使用INotifyDataErrorInfo
,您可以为每个属性设置和检索错误列表,但这似乎不是您的要求,这就是为什么我提供了一个更简单的示例,只有一个国旗HasErrors
。