我在遇到自定义的ValidationRule时触发了与Expander.Header绑定关联的问题。实际上,我似乎能够触发这些自定义规则的唯一地方是在DataGrid.RowValidationRules块中...Expander.Header内部的自定义验证规则绑定未触发
扩展器在我的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首先工作!
我已经得到了他们的DataGrid显示时验证行有效性规则将被应用。我认为有一种方法可以用任何绑定来实现,因为它是可用的设置...? –
@RJLohan您可以尝试有效性规则的属性“ValidatesOnTargetUpdated”设置为true。我只是发现有这样一个属性。希望这有助于。 – Colin
貌似这个属性有差别,不知道为什么,虽然,因为它不会在其他情况下应用。 –