如何在WPF文本框中删除多余的边框?

问题描述 投票:0回答:1

我对WPF TextBox有问题。我有一个带有ItemsControl控件的TextBox,该控件绑定到某些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>

如果输入了错误的数字,则会更改BorderThicknessBorderBrushBackgroundTextBox。但是,如果我从TextBox中删除所有文本,它将不会将数据设置为绑定属性,也不会更改BorderThicknessBorderBrush属性,并且如果已经设置了DataTrigger样式,则会有第二个边框,即DataTrigger's的外部边框。RESULT IMAGE HERE-在图像上,GreenYellow边框由DataTrigger设置,Red外部边框由自己设置。

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

wpf binding textbox border extern
1个回答
0
投票

所以问题是-这个外部边界是什么?

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

以及如何将其删除?!

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

Validation.Error

或在<TextBox> <Validation.ErrorTemplate> <ControlTemplate /> </Validation.ErrorTemplate> </TextBox> 中:

Style
© www.soinside.com 2019 - 2024. All rights reserved.