我有一个使用
DataGrid
的网格,使用AlternatingRowBackground
使其更易于阅读。在同一网格中,我还根据App.xaml
文件中的"IsMouseOver"
Setter Property
为行更改背景颜色。我的问题是那些具有交替颜色(它们不是白色)的行在鼠标悬停时不会改变为"IsMouseOver"
颜色。 基本上AlternatingRowBackground
颜色优先于我的RowStyle
。 如何使彩色行在鼠标悬停时也改变?
App.xaml:
<!-- DataGrid Row Style -->
<Style x:Key="RowStyleWithAlternation" TargetType="DataGridRow">
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="Background" Value="GhostWhite"/>
<Setter Property="FontWeight" Value="Normal"/>
<Setter Property="ContextMenu" Value="{x:Null}"/>
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="#FFD0D0E0"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Purple"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#F9F99F" />
</Trigger>
</Style.Triggers>
</Style>
用户控件 XAML:
<DataGrid ... AlternatingRowBackground="Gray" RowStyle="{StaticResource RowStyleWithAlternation}" ... />