首先,当单元格不处于编辑模式时,DataGridTextColumn使用文本块显示数据。这可能就是为什么你不能从中复制任何东西的原因。进入编辑模式后,文本块将替换为文本框,然后您应该能够像往常一样复制/粘贴。
考虑到您发布的代码没有提供您想要的功能,我只能假设您总是希望显示一个文本框。为此,需要使用DataGridTemplateColumn。因此,在后面的代码中,您将创建一个新的DataGridTemplateColumn,将其CellTemplate设置为一个新的DataTemplate,Inturn包含一个文本框。
您应该在这里找到一些用于创建带有文本框的数据模板的示例:
Can i create DataTemplate in code-behind?
还请注意,如果确实创建了DataGridTemplateColumn,则需要重新实现(如有必要)其他DataGrid列中内置的一些行为。例如,如果将DataGrid设置为IsReadOnly=true,则带有文本框的DataGridTemplateColumn仍可以编辑。所以您必须将textbox.isreadOnly属性绑定到datagrid.isreadOnly属性。