У меня есть DataGrid (ParentDataGrid) с DataGridDetailsPresenter. В DataGridDetailsPresenter у меня есть еще один DataGrid (ChildDataGrid). Если я выбираю строку в ChildDataGrid, также выбирается окружающая DataGridRow объекта ParentDataGrid.
Я понимаю, что и ParentDataGrid, и ChildDataGrid генерируют событие SelectionChanged. Я попытался отменить выбор в ParentDataGrid. Но затем основной выбор в ParentDataGrid изменяется. Поэтому я не хочу выбирать DataGridRow в ParentDataGrid.
Как избежать выбора DataGridRow в ParentDataGrid, щелкнув в DataGridDetailsPresenter?
Это мой шаблон данных
<DataTemplate DataType="{x:Type MyViewModel}">
<DataTemplate.Resources>...
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridRow}">
<Border ...>
<SelectiveScrollingGrid>
<SelectiveScrollingGrid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</SelectiveScrollingGrid.ColumnDefinitions>
<SelectiveScrollingGrid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</SelectiveScrollingGrid.RowDefinitions>
<DataGridRowHeader Grid.Row="0" Grid.RowSpan="2" Grid.Column="0" .../>
<DataGridCellsPresenter Grid.Row="0" Grid.Column="1" .../>
<DataGridDetailsPresenter Grid.Row="1" Grid.Column="1" .../>
</SelectiveScrollingGrid>
</Border ...>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</DataTemplate.Resources>
<Grid ...>
<DataGrid x:Name="ParentDataGrid" ...>
<DataGrid.Columns>...</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<Grid ...>
<DataGrid x:Name="ChildDataGrid"...>...</DataGrid>
</Grid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
</Grid>
</DataTemplate>