我有两个控件绑定到属性 MinCartValue 和 MaxCartValue。MinCartValue 必须小于 MaxCartValue。为了实现这个验证,我实现了 IDataErrorInfo 接口,如果 MinCartValue 或 MaxCartValue 被触及,则在 this[columnName] 方法中运行上述检查。ValidatesOnDataErrors=True 在两个控件的绑定中设置。验证正常工作,当对其属性值的更改违反规则时突出显示每个控件。问题是一旦一个控件被标记为无效,如果用户通过更改另一个控件的值来纠正问题,第一个控件仍然被标记为无效。这是可以理解的,因为 IDataErrorInfo 方法没有对第一个控件的属性进行验证。
因此,我需要一种在验证属性#2 时强制重新验证属性#1 的方法(或清除无效状态的方法),反之亦然。我曾尝试在我的 this[columnName] 方法中调用 RaisePropertyChanged,但它什么也没做。还尝试将属性设置为它自己的值以试图欺骗它来验证自己,但同样没有任何反应。
谢谢