我对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>
如果输入了错误的数字,它将更改BorderThickness
中的BorderBrush
,Background
和TextBox
。
但是,如果我从TextBox
中删除所有文本,它将不会将数据设置为绑定属性,也不会更改BorderThickness
和BorderBrush
属性,并且如果已经设置了DataTrigger
样式,将有第二个边界,这是{{1}}制成的边界的外部边界。
结果图片:
图像DataTrigger's
的边界由GreenYellow
设置,DataTrigger
外部边界由自身设置。
所以问题是-这个外部边界是什么?以及如何将其删除?!
答案 0 :(得分:0)
所以问题是-这个外部边界是什么?
它是默认Validation.Error
模板的一部分。
以及如何删除它?!
定义一个自定义的空Validation.Error
模板:
<TextBox>
<Validation.ErrorTemplate>
<ControlTemplate />
</Validation.ErrorTemplate>
</TextBox>
或者在Style
中:
<Style TargetType="TextBox">
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate />
</Setter.Value>
</Setter>
</Style>