【发布时间】:2011-08-23 14:38:35
【问题描述】:
使用 WPF 数据网格,我需要遵守这些要求:
- IsMouseOver 时更改行背景。
- 满足关键属性时将行背景更改为红色。
- 选择行时将行背景更改为紫色,但不重要。
- 当一行被选中且关键时,将行背景更改为深红色。
到目前为止,我无法满足最后一个条件。我现在的代码是:
<Style x:Key="GridRow" TargetType="DataGridRow">
<Setter Property="FontSize" Value="10" />
<Setter Property="Foreground" Value="#000000" />
<Setter Property="Background" Value="#E5E5E5" />
<Setter Property="Height" Value="24" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#F5F5F5" />
</Trigger>
<DataTrigger Binding="{Binding IsStatusCritical}" Value="True">
<Setter Property="Background" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<Trigger Property="DataGridCell.IsSelected" Value="True">
<Setter Property="Foreground" Value="White" />
<Setter Property="Background" Value="#660066" />
</Trigger>
</Style.Triggers>
</Style>
【问题讨论】: