2010-08-13 43 views
8

使用Silverlight 4,我可以在DataGrid中選擇一個或多個單元格(或行和列),按Control + C並將內容複製到剪貼板。這真的很酷。在Control + V時,它可以粘貼到Excel或其他編輯器中。如何使用Silverlight 4複製DataGrid中的所有單元格(包括DataGridTemplateColumn)的選定內容?

但是,如果其中一列是DataGridTemplateColumn,則粘貼時它的值爲空。這是有道理的,因爲它可以是列中的任何內容。

如何告訴Control + C副本模板單元的值應該是多少?

回答

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> 
相關問題