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

时间:2010-08-13 14:09:06

标签: c# .net silverlight

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

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

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

1 个答案:

答案 0 :(得分: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>