C# WPF Как переписать xaml код в code behind
У меня есть коллекция колонок, которая задается в xaml
<GridViewColumnCollection x:Key="ColumnCollection">
<GridViewColumn x:Name="test" Width="100" DisplayMemberBinding="{Binding DataColumns[0].Value}">
<GridViewColumnHeader Name="One" Style="{StaticResource style}" Click="GridViewColumnHeader_Click_1" SizeChanged="GridViewColumnHeader_SizeChanged_1">
</GridViewColumnHeader>
</GridViewColumn>
<GridViewColumn HeaderContainerStyle="{StaticResource style}" Width="100" DisplayMemberBinding="{Binding DataColumns[0].Value}">
<GridViewColumnHeader Name="Two" Style="{StaticResource style}" Click="GridViewColumnHeader_Click_1" SizeChanged="GridViewColumnHeader_SizeChanged_1">
</GridViewColumnHeader>
</GridViewColumn>
<GridViewColumn HeaderContainerStyle="{StaticResource style}" Width="100" DisplayMemberBinding="{Binding DataColumns[0].Value}">
<GridViewColumnHeader Name="Three" Style="{StaticResource style}" Click="GridViewColumnHeader_Click_1" SizeChanged="GridViewColumnHeader_SizeChanged_1">
</GridViewColumnHeader>
</GridViewColumn>
<!--<GridViewColumn HeaderContainerStyle="{StaticResource style}" Width="100" Header="{Binding Mode=TwoWay, Path=Header}" DisplayMemberBinding="{Binding DataColumns[1].Value}" />-->
</GridViewColumnCollection>
Есть следующий шаблон для отображения этих колонок в Header
<DataTemplate x:Key="MultiColumnHeaderTemplate">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Text="Header" HorizontalAlignment="Center" />
<GridViewHeaderRowPresenter Grid.Row="1" HorizontalAlignment="Stretch" Columns="{StaticResource ColumnCollection}" />
</Grid>
</DataTemplate>
Создается DataGrid с колонкой, куда мы указываем наш HeaderTemplate
<DataGrid Grid.Row="0" SizeChanged="GridViewColumnHeader_SizeChanged" Name="datagrid">
<DataGrid.Columns>
<DataGridTemplateColumn x:Name="col" HeaderTemplate="{StaticResource MultiColumnHeaderTemplate}" CellTemplate="{StaticResource MultiColumnCellTemplate}">
<DataGridTemplateColumn.Header>
<TextBlock Text="{Binding }" />
</DataGridTemplateColumn.Header>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
Как сделать тоже самое, но через CodeBehind? Колонки будут создаваться динамически. Понятия не имею как создать колонку, применить стиль Header в которой будут совсем другая коллекция колонок.