У меня есть DataGrid, который связан с ObservableCollection пользовательского класса.Коллекция является свойством ViewModel, и сетка работает нормально, в том числе с изменениями в коллекции.
Я хочу использовать RowDetailsTemplate для отображения двух дополнительных коллекций в StackPannel, например:
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<StackPanel Name="GrcidSP" Orientation="Horizontal">
<DataGrid Name="ClusterIndexGrid" AutoGenerateColumns="True"
ItemsSource="{Binding ClusterIndexColumns}"
CanUserAddRows="False" CanUserResizeRows="False"
Width="Auto"/>
<DataGrid Name="IndexGrid" AutoGenerateColumns="True"
ItemsSource="{Binding IndexColumns}"
CanUserAddRows="False" CanUserResizeRows="False"
Width="Auto"/>
</StackPanel>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
ClusterIndexColumns и IndexColumns, источники привязки внутренних сеток, также являются коллекциями в ViewModel.
Проблема в том, что когда я отображаю детали строк, сетки данных пусты, то есть не загружаются вообще, без столбцов или строк.
Чтобы понять, что происходит, я заменилвнутренние сетки данных с меткой:
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<StackPanel Name="GridSP" Orientation="Horizontal">
<Label Content="{Binding}" Width="Auto" Background="AliceBlue"/>
</StackPanel>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
и не указан источник привязки - {Binding}
Теперь в метке отображается имя пользовательского класса, который находится в коллекции, являющейся источникомвнешней сетки.
Так или иначе, мне нужно вернуться обратно к ViewModel в качестве контекста данных для внутренних сеток.
Но как, молитесь, скажите?