WPF DataGrid: transformer l'en-tête de colonne Image en ressource?
-
10-07-2019 - |
Question
J'ai créé une colonne de case à cocher dans un WPF DataGrid et j'ai défini l'en-tête de colonne comme une image à cocher. Voici mon balisage:
<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 ressource (par exemple, "CheckmarkHeader", afin que je puisse l'appeler dans d'autres grilles à l'aide de la propriété HeaderStyle d'une colonne de la grille de données, comme suit:
<toolkit:DataGridCheckBoxColumn ... HeaderStyle="CheckmarkHeader ... />
Cela peut-il être fait? Comment pourrais-je le faire? Merci pour votre aide.
La solution
Faut-il que ce soit HeaderStyle
? Utiliser HeaderTemplate
avec un DataTemplate
comme cela semble fonctionner:
<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" ... />
Autres conseils
si je voulais une image différente pour chaque colonne? devrait construire un modèle de données pour chacune d’elles?
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow