WPF DataGrid: ¿Convertir el encabezado de la columna Imagen en un recurso?
-
10-07-2019 - |
Pregunta
He creado una columna de casilla de verificación en una cuadrícula de datos WPF, y he configurado el encabezado de la columna para que sea una imagen de marca de verificación. Aquí está mi marcado:
<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>
Me gustaría convertir ese encabezado en un recurso (por ejemplo, " CheckmarkHeader " ;, para poder invocarlo en otras cuadrículas utilizando la propiedad HeaderStyle de una columna de cuadrícula de datos, algo así:
<toolkit:DataGridCheckBoxColumn ... HeaderStyle="CheckmarkHeader ... />
¿Se puede hacer eso? ¿Cómo lo haría? Gracias por tu ayuda.
Solución
¿Tiene que ser HeaderStyle
? El uso de HeaderTemplate
con una DataTemplate
parece funcionar:
<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" ... />
Otros consejos
si quisiera una imagen diferente para cada columna? debería construir una plantilla de datos para cada una de ellas?
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow