DataGrid раскрыть таблицу при клике на строку
Появилась необходимость при клике на строку в DataGrid отобразить коллекцию элементов, которая находится в объекте "А", завязанном на строке. Подробнее в иллюстрациях.
Был вариант добавить новый DataGrid в RowDetailsTemplate исходного DataGrid. Но в таком случае не срабатывает привязка SelectedItem вложенного DataGrid и не получается достать объекты типа "B" (). Как еще можно отобразить вложенную коллекцию (и выделять строки/элементы как в исходной таблице)? Объяснение конечно так себе, но надеюсь картинки помогут)
<DataGrid ItemsSource="{Binding CollectionA}"
SelectedItem="{Binding SelectedItemA}">
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding CollectionB}"
SelectedItem="{Binding SelectedItemB}">
<DataGrid.Columns>...</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
<DataGrid.Columns>...</DataGrid.Columns>
</DataGrid>
class A
{
public ObservableCollection<B> CollectionB;
...
}
class B
{
...
}
public ObservableCollection<A> CollectionA;
public A SelectedItemA
{
get => _selectedItemA;
set
{
_selectedItemA = value;
OnPropertyChanged();
}
}
public B SelectedItemB
{
/// get set не срабатывает из RowDetailsTemplate
get => _selectedItemB;
set
{
_selectedItemB = value;
OnPropertyChanged();
}
}


