Я хочу иметь возможность копировать ячейку вместо строки, когда я нажимаю Ctrl + C в DataGrid, и я обнаружил, что могу сделать это, используя событие CopyingRowClipboardContent и обработчик:
Private Sub DataGrid_CopyingRowClipboardContent(ByVal sender As Object, ByVal e As DataGridRowClipboardEventArgs)
Dim currentCell = e.ClipboardRowContent(dataGrid.CurrentCell.Column.DisplayIndex)
e.ClipboardRowContent.Clear()
e.ClipboardRowContent.Add(currentCell)
End Sub
Я хотел бы назначить это поведение глобально для любой DataGrid, созданной во время выполнения (вместо того, чтобы возвращаться к моему коду и добавлять обработчик ко всей DataGrid один за другим).
Я попытался добавить следующую строку в мой <Window.Resources>
код:
<Style x:Key="DataGridCustomStyle" TargetType="{x:Type DataGrid}">
<EventSetter Event="CopyingRowClipboardContent" Handler="Datagrid_CopyingRowClipboardContent" />
</Style>
Но я получаю сообщение об ошибке, говорящее, что CopyingRowClipboardContent должен быть событием RoutedEvent.