У меня есть DataGrid
(A), у которого есть ребенок DataGridTemplateColumn
, который является другим Datagrid
(A ').A имеет коллекцию (C), связанную в Itemsource
, а A 'связана с объектом коллекции, присутствующим в C. Оба отображают данные должным образом.
Проблема заключается в том, что при получении с использованием SelectedItem
из A 'данные о выбранной строке не сохраняются в свойстве binded.Есть ли способ получить эти данные?или лучший способ реализовать и получить SelectedItem
информацию из «Nested DataGrids
».Спасибо
<DataGrid AutoGenerateColumns="False" IsReadOnly="True" SelectedItem="{Binding SelectedUsedDiagram}" ItemsSource="{Binding UsedDiagramCollection, Mode=OneWay}"">
<DataGrid.Columns>
<DataGridTemplateColumn Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Expander IsExpanded="True" Style="{StaticResource Expander_Style}">
<Expander.Header>
<StackPanel Orientation="Horizontal">
<Image Source="{Binding Path=UIcon, Converter={StaticResource ImageConverter},Mode=TwoWay}" Margin="2" />
<TextBlock Text="{Binding UsedDiagram.DiagramName }" Margin="2" />
</StackPanel>
</Expander.Header>
<DataGrid Name="DiagramFlows" AutoGenerateColumns="False" IsReadOnly="True" ItemsSource="{Binding Flows,Mode=OneWay}" SelectedItem="{Binding DiagramFlow}" >
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Type, Mode=OneWay}" />
</DataGrid.Columns>
</DataGrid>
</Expander>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
Ожидаемые результаты:
1) SelectedUsedDiagram
- должна содержать информацию о выбранной строке в DataGrid
(UsedDiagramCollection
): - Работает нормально.
2) DiagramFlow
: - должна содержать информацию о выбранной строке во вложенном DataGrid
. (Потоки: - это другая коллекция для каждого объекта «Используемой коллекции диаграмм») - Всегда пусто / Нуль / никогда не устанавливается.