2

DataGridコレクションにアイテムがないときに赤いエラー境界線を表示するようにスタイルを設定しようとしていItemsSourceます。トリガー用のすべてのコードが既に作成され、機能しています。

これが私が試したものです:

<Style x:Key="WarningDataGrid" TargetType="DataGrid" BasedOn="{StaticResource {x:Type DataGrid}}">
    <Style.Triggers>
        <Trigger Property="ocean:DataGridBehavior.HasWarning" Value="true">
            <Setter Property="Control.Template">
                <Setter.Value>
                    <ControlTemplate>
                        <Border BorderThickness="1" BorderBrush="Red">
                            <AdornedElementPlaceholder />
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(ocean:CheckBoxBehavior.Warning)}" />
        </Trigger>
    </Style.Triggers>
</Style>

しかし、私は検証フレームワークを使用していないので、DataGrid が赤い境界線に置き換わるだけです。

デフォルトのスタイルから始める必要がありますか? もしそうなら、どこで見つけますか。

4

2 に答える 2

3

テンプレート全体を置き換えています。設定するだけBorderBrushです:

<Style x:Key="WarningDataGrid" TargetType="DataGrid" BasedOn="{StaticResource {x:Type DataGrid}}">
    <Style.Triggers>
        <Trigger Property="ocean:DataGridBehavior.HasWarning" Value="true">
             <Setter Property="BorderBrush" Value="AliceBlue"/>
            <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(ocean:CheckBoxBehavior.Warning)}" />
        </Trigger>
    </Style.Triggers>
</Style>
于 2012-07-16T17:58:28.607 に答える
0

Binding で ValidateOnErrors=True および ValidateOnExceptions=True を設定します。これが役立つことを願っています。

于 2012-07-16T17:21:22.777 に答える