私はDataGridDetailsPresenterを持つDataGrid(ParentDataGrid)を持っています。 DataGridDetailsPresenterには別のDataGrid(ChildDataGrid)があります。 ChildDataGridでRowを選択すると、ParentDataGridの周囲のDataGridRowも選択されます。DataGridDetailsPresenterをクリックしてParentDataGridでDataGridRowを選択しないようにするにはどうすればよいですか?
ParentDataGridとChildDataGridの両方でSelectionChangedイベントがスローされることがあります。私はParentDataGridの選択を解除しようとしました。しかし、ParentDataGridのプライマリ選択が変更されます。したがって、私はParentDataGridでDataGridRowを選択しないでください。
DataGridDetailsPresenterをクリックしてParentDataGridでDataGridRowを選択しないようにするにはどうすればよいですか?
これは私のDataTemplate
<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>
DataGridDetailsPresenter内の別のDataGridのですか?完全なxamlをポストし、可能であればバインディングのサンプルビューモデルを投稿してください。 – AnjumSKhan
子DataGridは、DataGrid.RowDetailsTemplateで定義されています。名前を付け加えました。この子DataGridは、DataGridDetailsPresenterに表示されます。 ViewModelは重要ではありません。 DataTemplatesを使用していることを示すために投稿しました。どちらのDataGridにもいくつかの項目があります。これらのアイテムは独立している可能性があります。 – Christopher
子DGは、DataGridDetailsPresenterの画像が入っているRowDetailsTemplateのDataTemplateにあります。 – AnjumSKhan