Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net WPF databinding-对于具有验证规则的所有绑定,将NotifyOnValidationError设置为true_.net_Wpf_Binding - Fatal编程技术网

.net WPF databinding-对于具有验证规则的所有绑定,将NotifyOnValidationError设置为true

.net WPF databinding-对于具有验证规则的所有绑定,将NotifyOnValidationError设置为true,.net,wpf,binding,.net,Wpf,Binding,在我的WPF应用程序中,我想为所有子控件/绑定设置NotifyOnValidationError为true(框架默认为false),如果它们有任何附加到绑定的ValidationRules。事实上,也可以指定其他绑定默认值-例如,validatesOnDaerRors也应该始终为真 例如,在下面的文本框中,我不想手动指定NotifyOnValidationError属性 <TextBox> <TextBox.Text> <Binding Pa

在我的WPF应用程序中,我想为所有子控件/绑定设置
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>