在ValidationError上删除文本框的内部边框

时间:2019-02-16 13:01:36

标签: wpf xaml

当发生验证错误时,我想在文本框周围显示一个红色边框。这项工作有效,但红色边框内部也显示了蓝色边框,我不想显示出来。有办法删除它吗?

文本框的样式

rugarch

在窗口中的用法:

<Style x:Key="StandardTextbox" TargetType="{x:Type TextBox}">
    <Setter Property="Height" Value="20"/>
    <Setter Property="Margin" Value="10,5,10,5" />
    <Setter Property="FontSize" Value="12"/>
    <Setter Property="VerticalAlignment" Value="Center" />
    <Setter Property="BorderBrush" Value="{StaticResource Blau}"/>
    <Setter Property="VerticalContentAlignment" Value="Center" />
</Style>

enter image description here

放大:

enter image description here

1 个答案:

答案 0 :(得分:1)

那是因为您正在BorderBrush内将Blau设置为Style。如果发生任何 Validation 错误,可以使用Triggers将其删除。喜欢,

<Style x:Key="StandardTextbox" TargetType="{x:Type TextBox}">
    <Setter Property="Height" Value="20"/>
    <Setter Property="Margin" Value="10,5,10,5" />
    <Setter Property="FontSize" Value="12"/>
    <Setter Property="VerticalAlignment" Value="Center" />
    <Setter Property="BorderBrush" Value="{StaticResource Blau}"/>
    <Setter Property="VerticalContentAlignment" Value="Center" />
    <Style.Triggers>
        <Trigger Property="Validation.HasError" Value="true">
            <Setter Property="BorderBrush" Value="Transparent"/>
        </Trigger>
    </Style.Triggers>
</Style>