WPF的DataGrid怎么实现多行表头

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF的DataGrid怎么实现多行表头相关的知识,希望对你有一定的参考价值。

默认情况下,C1FlexGrid仅有一行多表头,如何来动态的给它添加多表头?
1.添加行和列:通过FlexGrid.Columns.Add和FlexGrid.Rows.Add方法添加行和列。
2.添加多行表头:通过FlexGrid.ColumnHeaders.Rows.Add方法,在ColumnHeaders区域添加多行的表头,实现多行表头。
3.设置Caption内容:通过FlexGrid.ColumnHeaders[row, column]设置Caption内容。
4.合并:通过使用AllowMerging属性对表头进行合并。
详细的代码实现,请参考下面的博客
http://blog.gcpowertools.com.cn/post/2016/02/03/FlexGrid_MultiRowsColumnHeader.aspx
参考技术A <Style x:Key="CityNumStyle" TargetType="DataGridColumnHeader">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid x:Name="Root">
<!--<Rectangle x:Name="BackgroundGradient" Fill="#eee" Stretch="Fill" Grid.ColumnSpan="2" />-->
<ContentPresenter Content="区号" Grid.Row="2" VerticalAlignment="Center" HorizontalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

<Style x:Key="CityNameStyle" TargetType="DataGridColumnHeader">
<Setter Property="Foreground" Value="#222" />
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="IsTabStop" Value="False" />
<Setter Property="SeparatorBrush" Value="#CCC" />
<Setter Property="Padding" Value="8" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid x:Name="Root">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<!--<Rectangle x:Name="BackgroundRectangle" Fill="#eee" Stretch="Fill" Grid.ColumnSpan="2" />-->
<Grid HorizontalAlignment="TemplateBinding HorizontalContentAlignment" VerticalAlignment="TemplateBinding VerticalContentAlignment">
<Grid.RowDefinitions>
<RowDefinition Height="20" />
<RowDefinition Height="1" />
<RowDefinition Height="20" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width=

以上是关于WPF的DataGrid怎么实现多行表头的主要内容,如果未能解决你的问题,请参考以下文章

如何绘制 WPF DataGrid 多行表头?

WPF Datagrid合并表头的思路

WPF DataGrid怎么实现多行选中,不能使用CheckBox

WPF Datagrid行上下文菜单-禁用菜单项[关闭]

wpf datagrid怎么得到第一项焦点?然后在方向键上下移动

wpf datagrid表头SortDirection的升序(SortDirection)降序(Ascending)图标怎样放进去的?