我有用户控件作为供应商选择器。它显示当前选定的供应商名称,并使用按钮显示供应商选择对话框。
<PO:VendorSelector VendorId="{Binding Path=VendorId, Mode=TwoWay,
ValidatesOnDataErrors=True, NotifyOnValidationError=True, ValidatesOnNotifyDataErrors=True}" />
我在数据模型上使用ValidationAttributes来检查VendorId是否为null。请注意,usercontrol中的任何控件都不直接绑定到VendorId。
当我调用Validator.TryValidateObject时,会生成null VendorId消息,但用户控件从不显示任何错误指示。我需要错误地显示整个用户控件。
我需要做什么?我错过了什么?
标准&#34;红色边框/工具提示&#34;验证模板可以从适用于文本框的模板中重复使用。
答案 0 :(得分:0)
事实证明,我使用的自定义验证属性在调用新ValidationResult(字符串Message,string [] MemberNames)时省略了设置可选的MemberNames参数。这导致从我最初使用的验证码中的HandleValidationResults行75-78中的Linq聚合查询中删除了错误
http://www.eidias.com/Blog/2013/7/13/utilizing-inotifydataerrorinfo-in-wpf-mvvm-app
成员名称数组一旦通过,一切正常。