2012-05-21 28 views
1

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

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

为什么要在wpf .can中使用索引器进行验证,任何人都可以这么说。

回答

1

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

如果您有属性名称,激活验证并更改属性,索引器将调用字符串columnName =“Name”。现在你可以在如果,如果你通过结合更改属性声明

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

+0

如果我有公共int ID {get;组; } public string Name {get;组; } public decimal OpeningBalance {get;组; }等属性,然后我可以对它们进行验证。 – prjndhi

+0

这个类正在实现idataerrorinfo。 – prjndhi

+0

根据你的xaml代码public string Error { get {return null; } }这可能是火?????这是真的吗? – prjndhi

相关问题