WPF中DataGrid选中行,在焦点失去后,颜色会很淡,很不明细,因此在失去焦点的情况下,如何设置与选中的时候颜色一样。
<DataGrid.Resources>
<Style TargetType="DataGridCell">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="#0078D7"/>
</Style.Resources>
</Style>
</DataGrid.Resources>
这里需要注意的是 TargetType="DataGridCell",这里的类型需要选择每一行的属性,“DataGridRow”似乎也是可以的;
然后我们会发现选择行的颜色字体颜色由黑变白,但是失去焦点后颜色又恢复了黑色,会有一阵变化。那要怎么处理呢?
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
这样就OK了 ,整体代码如下
<DataGrid.Resources> <Style TargetType="DataGridCell"> <Style.Resources> <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="#0078D7"/> </Style.Resources> <Style.Triggers> <Trigger Property="IsSelected" Value="True"> <Setter Property="Foreground" Value="White"/> </Trigger> </Style.Triggers> </Style> </DataGrid.Resources>
