开发Listview、ListBox、DataGird等列表控件时一般控制颜色都以设置样式来解决,以DataGird为例如下图所示:
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="GreenYellow"/>
<Setter Property="Foreground" Value="MediumOrchid"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
其实像样修改这些颜色只要修改系统默认值覆盖掉即可
<DataGrid.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Red"/> //修改默认选中项的颜色
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="Brown" /> //修改非激活状态下的选中项颜色
</DataGrid.Resources>