1

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

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

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

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

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

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

4

1 回答 1

2

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

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

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

返回一个空字符串;

作为奖励,这种行为将很容易测试。

于 2013-04-09T09:43:01.473 回答