Прежде всего, DataGridTextColumn использует TextBlock для отображения данных, когда ячейка не находится в режиме редактирования.Наверное, поэтому вы ничего не можете скопировать с него.После того, как вы войдете в режим редактирования, текстовый блок будет заменен на текстовый, и тогда вы сможете копировать / вставлять, как обычно.
Учитывая, что размещенный вами код не обеспечивает нужную вам функциональность, я могутолько предположим, что вы хотите всегда показывать TextBox.Чтобы сделать это, вам нужно использовать DataGridTemplateColumn.Итак, в своем коде вы должны создать новый DataGridTemplateColumn, установить для его CellTemplate новый DataTemplate, в котором inturn содержит TextBox.Некоторые примеры создания DataTemplate с TextBox вы найдете здесь: Могу ли я создать DataTemplate в программном коде?
Также обратите внимание, что если вы создаете DataGridTemplateColumn, вам нужно переопределитьнеобходимо) некоторое поведение, встроенное в другие столбцы таблицы данных.Например, если для DataGrid установлено значение IsReadOnly = true, то ваш DataGridTemplateColumn с вашим TextBox все еще можно редактировать.Поэтому вам необходимо связать свойство TextBox.IsReadOnly со свойством DataGrid.IsReadOnly.