2014-01-06 5 views

ответ

2

Это работает для меня:

<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> 
0

Один из способов сделать это - установить RowHeaderWidth. Это самая левая строка, когда вы нажимаете на нее, она выбирает всю строку и должна показывать RowDetails.

Другой вариант - установить SelectionUnit = "FullRow" на datagrid, который не позволит пользователю выбирать отдельные ячейки, но вместо этого будет выбирать полную строку и показывать данные всякий раз, когда они нажимают в любом месте строки.

+0

Не то, что я намеревался. Я хочу, чтобы вся область (строка + детали) подсвечивалась вместо ячеек (по умолчанию). В некотором роде я думаю, что должно быть возможно инициировать изменение фона детали, когда выбрана относительная строка. –

Смежные вопросы