WPF DataGrid: trasformare l'intestazione di colonna immagine in una risorsa?
-
10-07-2019 - |
Domanda
Ho creato una colonna della casella di controllo in un DataGrid WPF e ho impostato l'intestazione della colonna come immagine del segno di spunta. Ecco il mio markup:
<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>
Vorrei convertire quell'intestazione in una risorsa (ad esempio, " CheckmarkHeader " ;, in modo da poterlo invocare in altre griglie usando la proprietà HeaderStyle di una colonna della griglia di dati - qualcosa del genere:
<toolkit:DataGridCheckBoxColumn ... HeaderStyle="CheckmarkHeader ... />
Può essere fatto? Come lo farei? Grazie per il tuo aiuto.
Soluzione
Deve essere HeaderStyle
? L'uso di HeaderTemplate
con un DataTemplate
in questo modo sembra funzionare:
<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" ... />
Altri suggerimenti
se volessi un'immagine diversa per ogni colonna? dovrei costruire un datatemplate per ognuna di esse?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow