需要使用IDataErrorInfo验证类中的所有属性

时间:2010-12-29 20:15:02

标签: wpf validation idataerrorinfo

我有一个WPF窗口,其中包含我的类'Item'的datacontext。当用户键入TextBox时,验证会触发而不会出现问题。当用户单击“保存”时,我需要验证此TextBox以及在此绑定类中设置的所有其他Property。

我不相信UpdateSourceTrigger是我正在寻找的,虽然我已经将它设置为PropertyChanged,当用户确实在该字段上进行数据输入时。

我宁愿不将所有属性设置为Save click上相应的UI控件以强制更新属性,但我可以。

谢谢!

1 个答案:

答案 0 :(得分:1)

仅在绑定将新属性值推送到数据源时才会执行数据错误验证。如果要在任何其他情况下执行该验证,则必须编写代码来执行该验证。

如果您的UI属性绑定到项目的属性,那么在单击Save按钮时,应该已经为每个属性运行验证。那么为什么你需要再次运行呢?

一个常见问题是您将绑定设置为LostFocus上的更新,但用户单击以保存项目的对象不可调焦。在这种情况下,保存项目时,UI中更新的最后一个属性不会在数据源中更新,因为它的控件没有失去焦点,并且未绑定其绑定。这是你的问题吗?