如何在Idataerrorinfo中调用索引器?

时间:2012-05-21 08:36:38

标签: wpf mvvm idataerrorinfo

在MVVM中IDataErrorInfo用于验证。在这个时间索引器检查值无法获得。并在调用它之后如何检查我无法得到的值。代码就在这里。列名称传递的值是多少。

public string this[string columnName]
{
    get { return GetValidationError(columnName); }
}

为什么在wpf中使用索引器进行验证。可以任何人说出来。

1 个答案:

答案 0 :(得分:1)

如果使用IDataErrorInfo接口,则验证实现接口的类。

如果您有属性Name,激活验证并更改属性,则使用字符串columnName =“Name”调用索引器。现在,您可以在if语句中处理“名称”验证

if(columnName  == "Name")
    // do Name validation

//修改

如果通过绑定更改属性,则会在wpf中触发验证。你应该像这样装饰你的装订:

Text="{Binding UpdateSourceTrigger=LostFocus, Path=FirstName, ValidatesOnDataErrors=true, NotifyOnValidationError=true}"

以下是使用WPF数据绑定和errortemplate的IDataErrorInfo实现的简单明了的解释。

WPF: Validation made easy with IDataErrorInfo