在 MVVMIDataErrorInfo
中用于验证。在这个时间索引器检查值不能得到。在调用它后如何检查我无法获取的值。代码在这里。列名中传递的值是什么。
public string this[string columnName]
{
get { return GetValidationError(columnName); }
}
为什么要在 wpf 中使用索引器进行验证。任何人都可以说一下。
在 MVVMIDataErrorInfo
中用于验证。在这个时间索引器检查值不能得到。在调用它后如何检查我无法获取的值。代码在这里。列名中传递的值是什么。
public string this[string columnName]
{
get { return GetValidationError(columnName); }
}
为什么要在 wpf 中使用索引器进行验证。任何人都可以说一下。
如果使用 IDataErrorInfo 接口,则验证实现该接口的类。
如果您有属性名称,请激活验证并更改属性,索引器将使用字符串 columnName = "Name" 调用。现在您可以在 if 语句中处理“名称”验证
if(columnName == "Name")
// do Name validation
//编辑
如果您通过绑定更改属性,则会在 wpf 中触发验证。你应该像这样装饰你的绑定:
Text="{Binding UpdateSourceTrigger=LostFocus, Path=FirstName, ValidatesOnDataErrors=true, NotifyOnValidationError=true}"
这是使用 WPF 数据绑定和错误模板的 IDataErrorInfo 实现的简单说明。