1

検証付きのテキスト ボックスとコンボ ボックスがあります。無効な値がある場合は特定のスタイルを表示し、起動時のようにボックスが空の場合は別のスタイルを表示したい。技術的には、ボックスに有効な値が含まれるまでボタンを無効にする必要があるため、空のボックスはエラーです。

検証エラーに基づいてさまざまなスタイルを設定する方法はありますか、それとも null 値をエラーではなく、単純な検証以上のボタンを制御して、残りのコントロールが有効かどうかを確認する必要がありますか?

現在、null 値を含むすべてのエラーに対してこのスタイルを使用しています。

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

1 に答える 1