WPF为空文本框和验证错误分隔样式

时间:2014-04-03 21:28:57

标签: wpf validation wpf-style

我有带验证的文本框和组合框。当盒子为空时,我想在有无效值和不同样式时显示某种样式,比如在启动时。从技术上讲,空框是一个错误,因为我需要禁用一个按钮,直到框包含有效值。

有没有办法根据验证错误设置不同的样式,或者我是否需要使空值不是错误并通过简单的验证来控制按钮以查看其余控件是否有效?

我目前正在使用此样式处理所有错误,包括空值。

<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>

1 个答案:

答案 0 :(得分:1)

我认为您需要针对不同错误的不同错误模板或视觉效果。是对的吗?如果是这样,帖子可能就是你所追求的。

Multiple validation rules