Я пытаюсь вывести в один датагрид большое число объектов с разными полями.
Я решил, что во внешнем датагриде будут столбцы с общими для всех объектов полями (ID, Entity ID, Тип), а по клику будет открываться датагрид, отображающий уже все остальные поля объекта, по которому я кликнул.
Вот, что есть:
<DataGrid x:Name="Components"
AutoGenerateColumns="False"
ItemsSource="{Binding world.components}">
<DataGrid.Resources>
<c:World x:Key="world"/>
</DataGrid.Resources>
<DataGrid.DataContext>
<Binding Source="{StaticResource world}"/>
</DataGrid.DataContext>
<DataGrid.Columns>
<DataGridTextColumn Header="Component ID" Binding="{Binding cID}" Width="100"/>
<DataGridTextColumn Header="Entity ID" Binding="{Binding eID}" Width="100"/>
<DataGridTextColumn Header="Component Type" Binding="{Binding compType.Name}" />
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid
AutoGenerateColumns="True"
ItemsSource="{Binding ElementName=Components, Path=ItemsSource}">
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
Вот, что получается:
В rowdetails отображаются сразу все объекты из коллекции, а нужен только тот, что был выбран во внешнем датагриде