У меня есть DataGrid
, отображающий дочерние данные, вложенные в внешний родительский DataGrid, и я хочу скопировать все выбранные ячейки (родительский и дочерний).Копирование из вложенного DataGrid
Я включил следующее контекстное меню в моем внешнем DataGrid, который успешно копирует родительские данные:
<DataGrid Grid.Column="2" Name="dgCalls" ItemsSource="{Binding FoundCallsList}"
AutoGenerateColumns="False" Background="{DynamicResource WindowBackgroundBrush}"
IsReadOnly="True">
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem Command="Copy">
<MenuItem.Icon>
<Image Source="..\resources\CopyHS.png" />
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
</DataGrid.ContextMenu>
...
Я пытался добавить этот код к внутреннему DataGrid, но безрезультатно. Если я выберу родительские и дочерние данные и скопирую их, при вставке я получаю только внешние данные. Если я выбираю только дочерние данные, при вставке я получаю пустую строку.
Xaml для внутренней сетки, если это помогает:
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding CallQueries}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Question" Width="450">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock VerticalAlignment="Stretch" HorizontalAlignment="Left" TextWrapping="Wrap" Text="{Binding QueryQuestion}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
...
Как скопировать данные из обоих innner (ребенка) и внешней (родительской) DataGrid?
Можете ли вы предоставить пример кода? –
@ a.azemia Xaml использует встроенное свойство ApplicationCommands.Copy, которое использует реализацию в элементе управления. Нет кода .cs с этой проблемой (хотя я ожидаю, что придется написать некоторые). – mcalex