我有这段代码来突出显示所选行:
<Style TargetType="DataGridRow">
<Setter Property="Background" Value="{StaticResource ElementBackground}" />
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="{StaticResource ActiveColor}"/>
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="Transparent"/>
</Style.Resources>
</Style>
但是当我右键单击所选行时,它不再突出显示。如何在xaml中解决这个问题?
答案 0 :(得分:1)
这段代码效果很好......一种透明色就出现了问题:
<Style TargetType="DataGridRow">
<Setter Property="Background" Value="{StaticResource ElementBackground}" />
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="{StaticResource ActiveColor}"/>
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="Transparent"/>
</Style.Resources>
答案 1 :(得分:0)
您需要区分突出显示的原因。 “焦点”与“焦点”之间存在差异。和&#39;选择&#39;。右键单击时,行(实际上是整个数据网格)可能会失去焦点,但如果事先选择了行,则在右键单击后仍会选择该行(除非您有明确的代码)在这种情况下取消选择行,但这不是默认行为。)
答案 2 :(得分:0)
试试这个:
<Style TargetType="DataGridCell">
<Setter Property="Background" Value="Transparent"/>
<Style.Triggers>
<Trigger Property="DataGridCell.IsSelected" Value="True">
<Setter Property="Background" Value="Orange" />
</Trigger>
</Style.Triggers>
</Style>