我有一个DataGrid
,RowDetailsVisibilityMode
设置为Visible
。
现在,当我选择一行时,我也要突出显示详细信息区域,而默认情况下只突出显示行单元格。是否有任何暗示可以获得这种行为?
答案 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”,这不会让用户选择单个单元格,而是选择整行,并且只要他们点击行上的任何位置就应显示详细信息。