wpf datagrid datagridtemplatecolumn

wpf css styles



WPF DataGridTemplateColumn plantilla compartida? (1)

Puede usar un ContentPresenter para crear instancias de DataTemplate para cada columna:

<toolkit:DataGrid.Resources> <DataTemplate x:Key="ColumnTemplate"> <StackPanel> <!-- the structure that I want to extract to a template --> </StackPanel> </DataTemplate> </toolkit:DataGrid.Resources> <toolkit:DataGrid.Columns> <toolkit:DataGridTemplateColumn Header="Col 1"> <toolkit:DataGridTemplateColumn.CellTemplate> <DataTemplate> <ContentPresenter ContentTemplate="{StaticResource ColumnTemplate}" Content="{Binding Times[0]}"/> </DataTemplate> </toolkit:DataGridTemplateColumn.CellTemplate> </toolkit:DataGridTemplateColumn> <toolkit:DataGridTemplateColumn Header="Col 2"> <toolkit:DataGridTemplateColumn.CellTemplate> <DataTemplate> <ContentPresenter ContentTemplate="{StaticResource ColumnTemplate}" Content="{Binding Times[1]}"/> </DataTemplate> </toolkit:DataGridTemplateColumn.CellTemplate> </toolkit:DataGridTemplateColumn> </toolkit:DataGrid.Columns>

Si los elementos de Times son todos del mismo tipo, también podría hacer <DataTemplate DataType={x:Type YourType}> y luego no necesitaría especificar ContentTemplate="{StaticResource ColumnTemplate}" en cada columna.

Hola, tengo una cuadrícula de datos que tiene una cantidad de columnas de plantilla de cuadrícula de datos que son todas idénticas aparte de que cada una tiene un contexto de datos diferente en el panel de la pila de la plantilla.

<toolkit:DataGridTemplateColumn Header="Col 1"> <toolkit:DataGridTemplateColumn.CellTemplate> <DataTemplate> <StackPanel DataContext="{Binding Times[0]}"> <!-- the structure that I want to extract to a template --> </StackPanel> </DataTemplate> </toolkit:DataGridTemplateColumn.CellTemplate> </toolkit:DataGridTemplateColumn> <toolkit:DataGridTemplateColumn Header="Col 2"> <toolkit:DataGridTemplateColumn.CellTemplate> <DataTemplate> <StackPanel DataContext="{Binding Times[1]}"> <!-- the same structure here --> </StackPanel> </DataTemplate> </toolkit:DataGridTemplateColumn.CellTemplate> </toolkit:DataGridTemplateColumn>

Quiero que cada columna use un elemento específico (como he hecho con un cuadro de lista) pero parece que no veo cómo a menos que me esté perdiendo algo.