2009-09-17 5 views
0

J'ai créé une colonne de case à cocher dans un DataGrid WPF et j'ai défini l'en-tête de colonne comme une image de coche. Voici mon code:WPG DataGrid: faire en-tête de colonne image dans une ressource?

<toolkit:DataGridCheckBoxColumn Binding="{Binding Completed}" Width="25" IsReadOnly="false" > 
    <toolkit:DataGridCheckBoxColumn.Header> 
     <Image Source="..\Resources\Images\checkmark.png" Height="9" Width="9" Margin="3,0,0,0" /> 
    </toolkit:DataGridCheckBoxColumn.Header> 
</toolkit:DataGridCheckBoxColumn> 

Je voudrais convertir cet en-tête en une ressource (par exemple, « CheckmarkHeader », afin que je puisse l'invoquer dans d'autres grilles à l'aide d'une propriété de colonne de grille de données HeaderStyle - quelque chose comme ceci:

<toolkit:DataGridCheckBoxColumn ... HeaderStyle="CheckmarkHeader ... /> 

peut-on fait comment pourrais-je le faire Merci pour votre aide

Répondre

2

-t-il être HeaderStyle en utilisant HeaderTemplate avec un DataTemplate comme semble donc travailler:.?

<Window.Resources> 
    <DataTemplate x:Key="CheckMarkTemplate"> 
     <Image Source="..\Resources\Images\checkmark.png" Height="9" Width="9" Margin="3,0,0,0" /> 
    </DataTemplate> 
</Window.Resources> 
... 
<toolkit:DataGridCheckBoxColumn ... HeaderTemplate="CheckMarkTemplate" ... /> 
+0

Cela fonctionne très bien - merci! –

+0

Workig Merci @Joseph Stutevant – Uday

2

Si je voulais une image différente pour chaque colonne? Devrait construire un datatemplate Pour chacun d'eux?

+0

Qu'en est-il de lier Image.Source à une propriété avec l'ID ou le nom de l'image et en utilisant un convertisseur pour renvoyer la bonne image? – JoanComasFdz

Questions connexes