在我的WPF应用程序,我想设置NotifyOnValidationError到true(框架默认其为假)的所有子控件/绑定,如果他们有附加到绑定任何ValidationRules.实际上,指定其他绑定默认值也会很好 - 例如ValidatesOnDataErrors,也应始终为true.
例如,在下面的文本框中,我不想手动指定NotifyOnValidationError属性.
<TextBox>
<TextBox.Text>
<Binding Path="PostalCode"
ValidatesOnDataErrors="True"
NotifyOnValidationError="True">
<Binding.ValidationRules>
<rules:PostalCodeRule />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
Run Code Online (Sandbox Code Playgroud)
跟进Ragepotato的回答.
要做到这一点,最简单的方法是创建你自己的Binding,从继承Binding,然后设置你所需要的,喜欢的东西NotifyOnValidationError="True",并ValidatesOnDataErrors="True"在构造函数中.
public class ExBinding : Binding
{
public ExBinding()
{
NotifyOnValidationError = true;
ValidatesOnDataErrors = true;
}
}
Run Code Online (Sandbox Code Playgroud)
然后你使用这个Binding代替
<TextBox>
<TextBox.Text>
<local:ExBinding Path="PostalCode">
<local:ExBinding.ValidationRules>
<rules:PostalCodeRule />
</local:ExBinding.ValidationRules>
</local:ExBinding>
</TextBox.Text>
</TextBox>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4492 次 |
| 最近记录: |