.net WPF databinding-对于具有验证规则的所有绑定,将NotifyOnValidationError设置为true
在我的WPF应用程序中,我想为所有子控件/绑定设置.net WPF databinding-对于具有验证规则的所有绑定,将NotifyOnValidationError设置为true,.net,wpf,binding,.net,Wpf,Binding,在我的WPF应用程序中,我想为所有子控件/绑定设置NotifyOnValidationError为true(框架默认为false),如果它们有任何附加到绑定的ValidationRules。事实上,也可以指定其他绑定默认值-例如,validatesOnDaerRors也应该始终为真 例如,在下面的文本框中,我不想手动指定NotifyOnValidationError属性 <TextBox> <TextBox.Text> <Binding Pa
NotifyOnValidationError
为true
(框架默认为false),如果它们有任何附加到绑定的ValidationRules。事实上,也可以指定其他绑定默认值-例如,validatesOnDaerRors
也应该始终为真
例如,在下面的文本框中,我不想手动指定NotifyOnValidationError属性
<TextBox>
<TextBox.Text>
<Binding Path="PostalCode"
ValidatesOnDataErrors="True"
NotifyOnValidationError="True">
<Binding.ValidationRules>
<rules:PostalCodeRule />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
由于
绑定
只是一个简单的过程,因此您可以创建一个自定义来扩展绑定
,并将这些属性设置为所需的默认值。跟进Ragepotato的答案。最简单的方法是创建自己的
绑定
,该绑定继承自绑定
,然后在构造函数中设置所需的内容,如NotifyOnValidationError=“True”
和validateSondaErrors=“True”
public class ExBinding : Binding
{
public ExBinding()
{
NotifyOnValidationError = true;
ValidatesOnDataErrors = true;
}
}
然后使用这个绑定
<TextBox>
<TextBox.Text>
<local:ExBinding Path="PostalCode">
<local:ExBinding.ValidationRules>
<rules:PostalCodeRule />
</local:ExBinding.ValidationRules>
</local:ExBinding>
</TextBox.Text>
</TextBox>