C#WPF如何将文本框周围的红色矩形更改为带感叹号的红色圆圈
我有一个C#WPF如何将文本框周围的红色矩形更改为带感叹号的红色圆圈,c#,xaml,wpf-controls,errorprovider,C#,Xaml,Wpf Controls,Errorprovider,我有一个文本框,它连接到一个类属性 <TextBox Name="txtbSleeveLength" Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center" Height="23" Margin="1" Text="{Binding Path=Sleeve
文本框
,它连接到一个类属性
<TextBox Name="txtbSleeveLength"
Grid.Row="0"
Grid.Column="1"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Height="23" Margin="1"
Text="{Binding Path=SleeveLength, StringFormat=N2}"
Width="120"
TextAlignment ="Center"
GotFocus="txtbSleeveLength_GotFocus" />
}
由于属性不可为null,因此会产生两种效果。开头的文本框
中有“0.00”,如果未满足文本框
的要求,文本框周围会出现一个红色矩形
现在提问
哪个
TextBox
属性负责此矩形(如果存在)?我听说有ErrorProvider
。它可以在XAML标记中用于获取异常并将矩形更改为带感叹号的红色圆圈吗 解决方案可以使用边框和样式
<Border BorderBrush="Red" >
<Border.Style>
<Setter Property="BorderThickness" Value="0"/>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding SleeveLength}" Value="0">
<Setter Property="BorderThickness" Value="2"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<TextBox ...></TextBox>
</Border>
通过添加Validation.ErrorTemplate=“{x:Null}”()我收到了文本框周围不再显示矩形的消息。但它不是我问题的答案。
<Border BorderBrush="Red" >
<Border.Style>
<Setter Property="BorderThickness" Value="0"/>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding SleeveLength}" Value="0">
<Setter Property="BorderThickness" Value="2"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<TextBox ...></TextBox>
</Border>