*是否可以获取验证错误(由绑定源通过IDataErrorInfo或INotifyDataErrorInfo生成)**而无需访问数据源*?
重点是获取将要显示的错误消息。
提前谢谢。
编辑:“不访问数据源”意味着我不希望通过在数据源上实现IDataErrorInfo接口的属性获取错误消息。
答案 0 :(得分:2)
不确定“不访问数据源”是什么意思,但您也可以通过绑定来访问错误
{Binding RelativeSource={RelativeSource Self},Path=(Validation.Errors)[0].ErrorContent}
请注意,如果没有错误,这将引发异常。因此,根据您要执行的操作,检查“Validation.HasErrors”属性是否存在错误。
同时检查this example如何正确执行此操作:
答案 1 :(得分:1)
“不访问数据源”意味着您可以看到在业务类拥有的属性的{}}部分中创建的验证错误。例如。我们有Person类:
public class Person
{
string firstName;
public string FirstName
{
get{return firstName;}
set
{
if (String.IsNullOrEmpty(value))
throw new Exception("First name should be provided!");
firstName = value;
}
}
}
像这样的东西