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>
