如何在所有文本框中自动设置“验证异常”、“验证数据错误”和“通知验证错误”
本文关键字:验证 错误 验证异常 异常 数据 通知 设置 文本 | 更新日期: 2023-09-27 18:30:58
目前,我正在创建文本框并指定 ValidatesOnExceptions=True、ValidatesOnDataErrors=True、NotifyOnValidationError=True:
<TextBox Width="150" Text="{Binding Expander1Name, ElementName=Window,
Mode=TwoWay, UpdateSourceTrigger=PropertyChanged,
ValidatesOnExceptions=True, ValidatesOnDataErrors=True,
NotifyOnValidationError=True}" Background="#FFF5EECC"></TextBox>
我想使用全局 XAML 资源库设置 ValidatesOnExceptions=True、ValidatesOnDataErrors=True、NotifyOnValidationError=True。
这里的任何人都可以给出一个明确的答案,是否有可能做,如果不是——为什么,如果是——怎么做?
不可能以您描述的方式,因为这些属性存在于DependencyObject
s 中的 Binding
实例上,而不是作为DependencyObject
本身的属性公开。无法创建面向Binding
的Style
。
也就是说,有几种方法可以解决此问题:
- 定义您自己的类,该类扩展
Binding
并设置所需的任何默认值。然后,您将在当前使用过的所有地方使用该类Binding
. - 定义一个附加行为,该行为查找它所附加到的对象中的所有
Binding
并设置所需的默认值。
第一个选项对我来说更可取,因为第二个选项可能会产生不可预见的后果(如果存在您不希望它采用默认值的绑定怎么办?第二个选项也会慢得多,因为它需要动态搜索它所附加到的项的所有依赖项属性。
我问了几乎相同的问题,也许你也可以看看那里:
绑定的样式?