右键单击后不会突出显示行

时间:2015-09-23 11:11:43

标签: c# wpf xaml

我有这段代码来突出显示所选行:

 <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中解决这个问题?

3 个答案:

答案 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>