如何使用Silverlight 4复制DataGrid(包括DataGridTemplateColumn)中所有单元格的选定内容?

Ben*_*mer 8 .net c# silverlight

使用Silverlight 4,我可以在DataGrid中选择一个或多个单元格(或行和列),点击Control + C并将内容复制到剪贴板.这真的很酷.在Control + V后,它可以粘贴到Excel或其他编辑器中.

但是,如果其中一列是DataGridTemplateColumn,则粘贴时其值为空.这是有道理的,因为它可能是专栏中的任何内容.

如何告诉Control + C副本模板单元格的值应该是什么?

Ben*_*mer 13

事实证明,如果您使用数据绑定,这很容易.你所要做的就是绑定

ClipboardContentBinding
具有要为此列复制的值的属性.

例如:

<data:DataGridTemplateColumn Header="Name" ClipboardContentBinding="{Binding Name}" SortMemberPath="Name">
  <data:DataGridTemplateColumn.CellTemplate>
     <DataTemplate>
        <HyperlinkButton Content="{Binding Name}" Margin="3" />
     </DataTemplate>
  </data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)