Silverlight DataGrid使用DataAnnotations和INotifyDataErrorInfo复制对象的错误消息

时间:2011-02-09 16:28:01

标签: c# silverlight validation datagrid

我的实体对象使用DataAnnotations属性进行验证,但是为了验证可以使用所有Silverlight控件而不仅仅是DataGrid,我还实现了INotifyDataErrorInfo。但是这会在DataGrid中生成重复的验证错误文本(它显示来自DataAnnotations和INotifyDataErrorInfo的错误)。我该如何解决这个问题?

我的ModelBase类:http://pastebin.com/SewggVUc

2 个答案:

答案 0 :(得分:1)

以下a link to a blog post可以为您提供帮助。

作者描述了如何在帖子的末尾组合INotifyDataErrorInfo和DataAnnotations。

如果没有任何变化 - 请在您的问题中添加Entity类的代码。

答案 1 :(得分:1)

我想通了,我误解了当提供null或empty属性时应该返回什么INotidyDataErrorInfo.GetErrors(字符串属性),我认为它应该返回所有属性错误,但不应该返回类顶级错误,我是提供了带有property和null参数的ErrorsChanged事件,因此它显示了重复的消息,一个用于属性,一个用于类级别,在我的例子中它们是相同的。