我已经在我的一个类中实现了 IDataErrorInfo 来验证该类的属性。该属性绑定到我的 wpf 用户控件上的控件。验证工作正常,除了有一个重要缺陷。
它似乎在更新属性之前调用了 IDataErrorInfo 成员 public string this[string columnName],所以当我检查正在更改的属性的值时,它包含以前的值而不是刚刚输入的值。因此,验证总是落后一步。这意味着我无法检查刚刚输入的错误值。
有没有办法强制在属性更新之后而不是之前调用此验证。我尝试将 UpdateSourceTrigger 更改为 LostFocus 和 PropertyChanged,但它们仍然报告以前的值,只是在不同的时间。
谢谢。