如何删除 WPF TextBox 中的多余边框?

How to remove extra border in WPF TextBox?

我有 WPF 问题 TextBox。我有一个带有 TextBox 控件的 ItemsControl,它绑定到某些 ViewModel 中的 double 属性。对于这些 TextBox 控件,我有一个 DataTrigger

<DataTrigger Binding="{c:Binding 'IsCorrect'}" Value="False">
      <Setter Property="BorderThickness" Value="5"/>
      <Setter Property="BorderBrush" Value="GreenYellow"/>
      <Setter Property="Background" Value="#FFD2D2"/>
</DataTrigger>

如果输入错误的数字,它会更改TextBoxBorderThicknessBorderBrushBackground。 但是,如果我从 TextBox 中删除所有文本,它不会将数据设置为绑定 属性 并更改 BorderThicknessBorderBrush 属性,并且如果 DataTrigger 样式有已经设置好了,就会有第二个边框,是extern for DataTrigger's made border.

结果图片:

图片上GreenYellow边框由DataTrigger设置,Red外边框由自己设置。

所以问题是 - 这个外部边界是什么?以及如何删除它?!

So the QUESTION is - what is this extern border?

它是默认 Validation.Error 模板的一部分。

and how to remove it?!

定义自定义空 Validation.Error 模板:

<TextBox>
    <Validation.ErrorTemplate>
        <ControlTemplate />
    </Validation.ErrorTemplate>
</TextBox>

Style:

<Style TargetType="TextBox">
    <Setter Property="Validation.ErrorTemplate">
        <Setter.Value>
            <ControlTemplate />
        </Setter.Value>
    </Setter>
</Style>