<Style x:Key="DataGridMultilevelHeader" TargetType="{x:Type DataGrid}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGrid}">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
<DockPanel>
<DockPanel DockPanel.Dock="Top">
<StackPanel x:Name="band1" Orientation="Vertical" DockPanel.Dock="Left">
<StackPanel Orientation="Horizontal" Height="0">
<Button Width="{Binding ElementName=col1, Path=ActualWidth}"/>
</StackPanel>
<Button Height="21" Focusable="False" Content=""/>
</StackPanel>
<StackPanel x:Name="band2" Orientation="Vertical" DockPanel.Dock="Left">
<StackPanel Orientation="Horizontal" Height="0">
<Button Width="{Binding ElementName=col2, Path=ActualWidth}"/>
<Button Width="{Binding ElementName=col3, Path=ActualWidth}"/>
<Button Width="{Binding ElementName=col4, Path=ActualWidth}"/>
</StackPanel>
<Button Height="21" Content="Набор 1" Focusable="False"/>
</StackPanel>
<StackPanel x:Name="band3" Orientation="Vertical">
<Button Height="21" Content=""/>
</StackPanel>
</DockPanel>
<DataGridColumnHeadersPresenter DockPanel.Dock="Top"/>
<DataGridRowsPresenter/>
</DockPanel>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<DataGrid Style="{StaticResource DataGridMultilevelHeader}">
<DataGrid.Columns>
<DataGridTextColumn Header="Дата" x:Name="col1" Width="100"/>
<DataGridTextColumn Header="Значение 1" x:Name="col2" Width="100"/>
<DataGridTextColumn Header="Значение 2" x:Name="col3" Width="100"/>
<DataGridTextColumn Header="Значение 3" x:Name="col4" Width="100"/>
</DataGrid.Columns>
</DataGrid>
Данное сообщение является художественным произведением и освещает вымышленные события в вымышленном мире. Все совпадения с реальностью являются случайными. Не является инвестиционной рекомендацией.