我有一个WPF屏幕,它显示许多文本框输入。我有一个处理所有验证的样式:
<Style x:Key="TextBoxStyle" BasedOn="{x:Null}" TargetType="{x:Type TextBox}">
<!-- etc etc -->
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<Border Grid.Column="0" BorderBrush="Red" BorderThickness="1">
<StackPanel>
<AdornedElementPlaceholder />
</StackPanel>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="ToolTip" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors)[0].ErrorContent}" />
</Trigger>
</Style.Triggers>
</Style>
我要应用到文本框的唯一一件事就是告诉绑定它是有效的。由于我在应用程序上有很多这样的框,所以我不希望在整个应用程序中重复这个令人恶心的消息。
<TextBox Text="{Binding TargetValue, ValidatesOnExceptions=true, ValidatesOnDataErrors=true, NotifyOnValidationError=true}" Style="{DynamicResource TextBoxStyle}" />
我已经尝试将text.binding.validatesOnDataErrors属性添加到Style中,但这不起作用,也不是正确的方法。是否可以创建默认绑定样式?感谢您的建议!