2010-08-13 7 views
8

Con Silverlight 4, posso selezionare una o più celle (o righe e colonne) in un DataGrid, premere Control + C e il contenuto viene copiato negli Appunti. Il che è davvero fantastico Su Control + V, può essere incollato in Excel o in un altro editor.Come posso copiare i contenuti selezionati di tutte le celle in un DataGrid (incluso DataGridTemplateColumn) con Silverlight 4?

Tuttavia, se una delle colonne è un DataGridTemplateColumn i suoi valori sono vuoti quando vengono incollati. Il che ha senso, perché potrebbe essere qualsiasi cosa nella colonna.

Come posso dire a Control + C di copiare quale dovrebbe essere il valore della cella modello?

risposta

13

Questo risulta molto semplice se si utilizza l'associazione dati. Tutto quello che devi fare è associare la proprietà

ClipboardContentBinding
con il valore che desideri copiare per questa colonna.

Ad esempio:

<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> 
Problemi correlati