【发布时间】:2012-12-06 11:09:37
【问题描述】:
当自定义 ValidationRule 与 Expander.Header 绑定关联时,我无法触发它。事实上,我似乎可以让这些自定义规则触发的唯一地方是在 DataGrid.RowValidationRules 块中......
扩展器在我的 Window XAML 文件中定义,如下所示;
<Expander Style="{StaticResource ValidatedSecondLevelExpanderStyle}">
<Expander.Header>
<Binding Path="Name" Mode="OneWay" ValidatesOnDataErrors="True" NotifyOnValidationError="True">
<Binding.ValidationRules>
<ValidationRules:BoundObjectIsValid />
</Binding.ValidationRules>
</Binding>
</Expander.Header>
</Expander>
绑定属性“名称”显示正确,但未调用验证规则“BoundObjectIsValid”。这可能吗?如果可以,我错过了什么?
我知道我可以交替地在绑定对象上实现 IDataErrorInfo,但是如果没有系统其他部分提供的某些上下文,该对象无法合理地验证自己。重构是可能的,但我希望首先让 ValidationRules 起作用!
【问题讨论】:
标签: c# wpf binding validationrules