3

DataGridフォーカスが失われたときに 行の元の背景色を保持する方法はありますか?

InactiveSelectionHighlightBrushKey特定の色を設定できることは知っていますが、前の背景色が赤または緑である可能性があるInactiveSelectionHighlightBrushKey としましょう。行の元の色が何であったかを知りたいですか?

追加した:

ビューモデルに true/false の IsZero プロパティと、以下の XAML があります。

          <DataGrid.RowStyle>
                <Style TargetType="{x:Type DataGridRow}">
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding IsZero}" Value="True">
                            <Setter Property="Background" Value="Green" />
                        </DataTrigger>

他の行には別の色を設定するための他のバインディングがありますが、それを選択して選択解除すると、青と灰色になります。色を設定できましたが、「現在の背景色」に設定するエレガントな方法がわかりません。

4

3 に答える 3

0

WPF 4.0の場合、他のソリューションでは、別のデータグリッドに入ったときに行がまだ灰色になっているため、次の方法が最適であることがわかりました。

<DataGrid.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
    <Style.Triggers>
        <Trigger Property="IsSelected" Value="True">
            <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
            <Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
            <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}" />
        </Trigger>          
    </Style.Triggers>
</Style>

于 2013-12-17T09:27:56.047 に答える