选中行时,突出显示DataGrid中的RowDetails

时间:2014-01-06 17:08:43

标签: wpf xaml datagrid

我有一个DataGridRowDetailsVisibilityMode设置为Visible。 现在,当我选择一行时,我也要突出显示详细信息区域,而默认情况下只突出显示行单元格。是否有任何暗示可以获得这种行为?

2 个答案:

答案 0 :(得分:5)

这对我有用:

<DataGrid.RowDetailsTemplate>
 <DataTemplate>
  <Border>
   <Border.Style>
    <Style TargetType="Border">
      <Style.Triggers>
       <DataTrigger Binding="{Binding IsSelected, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}}}" Value="True">
        <Setter Property="Background" Value="{x:Static SystemColors.HighlightBrush}"/>
      </DataTrigger>
    </Style.Triggers>
   </Style>
   </Border.Style>
   <StackPanel>
     <!-- my details content here --> 
   </StackPanel>
  </Border>
 </DataTemplate>
</DataGrid.RowDetailsTemplate>

答案 1 :(得分:0)

您可以这样做的一种方法是设置RowHeaderWidth。这是最左边的行,当你点击它时会选择整行,并且也应该显示RowDetails。

另一种选择是在数据网格上设置SelectionUnit =“FullRow”,这不会让用户选择单个单元格,而是选择整行,并且只要他们点击行上的任何位置就应显示详细信息。