如何删除 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>
如果输入错误的数字,它会更改TextBox
的BorderThickness
、BorderBrush
和Background
。
但是,如果我从 TextBox
中删除所有文本,它不会将数据设置为绑定 属性 并更改 BorderThickness
和 BorderBrush
属性,并且如果 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>
我有 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>
如果输入错误的数字,它会更改TextBox
的BorderThickness
、BorderBrush
和Background
。
但是,如果我从 TextBox
中删除所有文本,它不会将数据设置为绑定 属性 并更改 BorderThickness
和 BorderBrush
属性,并且如果 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>