如何使ValidatesOnDataErrors可绑定

本文关键字:绑定 ValidatesOnDataErrors 何使 | 更新日期: 2023-09-27 18:08:06

我需要绑定ValidatesOnDataErrors的值,以便在运行时确定。

这样做的原因是,我并不总是想要验证数据。

这是一个绑定的属性,所以我知道我不能这样做:

"{Binding Path=SomePath, ValidatesOnDataErrors={Binding Path=SomeBoolProperty}}"

所以我的问题是,我如何改变我的绑定,使ValidatesOnDataErrors的值,可以在运行时确定。

注意:我想在ViewModel中保持绑定。我不想在View's代码后面设置任何东西。

如何使ValidatesOnDataErrors可绑定

在ViewModel中实现此逻辑,并使其实现IDataErrorInfo接口。

当不需要验证时,使属性:

string Error { get; }
string this[string columnName] { get; }

返回空字符串;

作为额外的好处,这种行为将很容易测试。