当DependencyProperty无效时,将UserControl显示为无效

时间:2015-07-28 19:44:50

标签: c# wpf validation user-controls

我有用户控件作为供应商选择器。它显示当前选定的供应商名称,并使用按钮显示供应商选择对话框。

    <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;验证模板可以从适用于文本框的模板中重复使用。

1 个答案:

答案 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

成员名称数组一旦通过,一切正常。