我有一组绑定到数据的控件,我想在这些控件上以编程方式将验证器添加到绑定中。目前,我能够遍历可视化树以找到具有绑定的控件,并将我的验证器添加到这些控件中。但是为了进一步指定哪些控件应该具有特定的验证,我想使用样式。所以我的 XAML 看起来像这样:
<TextBox Name="someTextBox" Style="{StaticResource optionalNumericTextBox}" />
在这里,optionalNumericTextBox
样式既可以添加验证错误模板,也可以作为装饰器来指示此文本框应该应用可选的数字验证器。
当我遍历可视化树,发现带有绑定的控件,然后需要确定正在使用的样式时,就会出现问题。目前我已经尝试过
dependencyObject.GetValue(FrameworkElement.StyleProperty)
这给了我一个 Style对象,但据我所知,这个对象不带有 'optionalNumericTextBox' 值。甚至可以确定密钥还是 XAML 阅读器中丢失了此信息?