我有带有验证的文本框和组合框。我想在存在无效值时显示某种样式,而在框为空时显示不同的样式,例如在启动时。从技术上讲,空框是错误的,因为我需要禁用按钮,直到框包含有效值。
有没有办法根据验证错误设置不同的样式,还是我需要使空值不是错误,并通过简单的验证来控制按钮,以查看其余控件是否有效?
我目前正在使用这种样式来处理所有错误,包括空值。
<Style x:Key="Error" TargetType="{x:Type Control}">
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="0,2,40,2" />
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<DockPanel LastChildFill="true">
<Border Background="Red" DockPanel.Dock="left" Margin="5,0,0,0"
Width="20" Height="20" CornerRadius="10"
ToolTip="{Binding ElementName=customAdorner,
Path=AdornedElement.(Validation.Errors)[0].ErrorContent}">
<TextBlock Text="X" VerticalAlignment="center" HorizontalAlignment="center" Foreground="white" />
</Border>
<AdornedElementPlaceholder Name="customAdorner" VerticalAlignment="Center" >
<Border/>
</AdornedElementPlaceholder>
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>