我的实体对象使用DataAnnotations属性进行验证,但是为了验证可以使用所有Silverlight控件而不仅仅是DataGrid,我还实现了INotifyDataErrorInfo。但是这会在DataGrid中生成重复的验证错误文本(它显示来自DataAnnotations和INotifyDataErrorInfo的错误)。我该如何解决这个问题?
我的ModelBase类:http://pastebin.com/SewggVUc
答案 0 :(得分:1)
以下a link to a blog post可以为您提供帮助。
作者描述了如何在帖子的末尾组合INotifyDataErrorInfo和DataAnnotations。
如果没有任何变化 - 请在您的问题中添加Entity类的代码。
答案 1 :(得分:1)
我想通了,我误解了当提供null或empty属性时应该返回什么INotidyDataErrorInfo.GetErrors(字符串属性),我认为它应该返回所有属性错误,但不应该返回类顶级错误,我是提供了带有property和null参数的ErrorsChanged事件,因此它显示了重复的消息,一个用于属性,一个用于类级别,在我的例子中它们是相同的。