我需要突出显示数据网格的 MouseOver 行,使用这种样式似乎很容易:
<Style TargetType="DataGridRow">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Green"/>
</Trigger>
</Style.Triggers>
</Style>
问题是我还有一些只读单元格的样式定义为:
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsReadOnly" Value="True">
<Setter Property="Background" Value="LightGoldenrodYellow"/>
</Trigger>
</Style.Triggers>
</Style>
因此,这些只读单元格不会获得 MouseOver 背景。我该如何解决这个冲突?非常感谢您的帮助。
这不是冲突。 MouseOver 事件适用于非只读的普通行和单元格。
您应该为这个问题添加一个 MultiTrigger。
Sample:
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsReadOnly" Value="true" />
<Condition Property="IsMouseOver" Value="true" />
</MultiTrigger.Conditions>
<Setter Property="Background" Value="Green"/>
</MultiTrigger>
该代码对于 DataGridCell 样式有效。完成的代码示例将是:
<Style TargetType="DataGridCell">
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsReadOnly" Value="true" />
<Condition Property="IsMouseOver" Value="true" />
</MultiTrigger.Conditions>
<Setter Property="Background" Value="Green"/>
</MultiTrigger>
</Style.Triggers>
</Style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)