WPF,请教DataGrid的复合表头是怎么做的?

dlfdf0fd 2013-09-01 04:40:06
DataGrid控件的复合表头是怎么做的,各位有没有资料。
我给列写了数据模板。如下:

<Window.Resources>
<Style x:Key="标题1">
<Setter Property="DataGridColumnHeader.ContentTemplate">
<Setter.Value>
<DataTemplate>
<Grid HorizontalAlignment="Left">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Border Grid.ColumnSpan="2" BorderBrush="Black" BorderThickness="0,0,0,1">
<TextBlock Text="姓名" TextAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Grid.Row="1" BorderBrush="Black" BorderThickness="0,0,1,0">
<TextBlock Text="大名" TextAlignment="Center" VerticalAlignment="Center" />
</Border>
<TextBlock Text="小名" Grid.Row="1" Grid.Column="1" TextAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid HorizontalAlignment="Left" Height="557" VerticalAlignment="Top" Width="483">
<DataGrid HorizontalAlignment="Left" VerticalAlignment="Top" Height="150" Width="332" Margin="29,29,0,0">
<DataGrid.Columns>
<DataGridTextColumn HeaderStyle="{StaticResource 标题1}"/>
<DataGridTextColumn Header="年龄"/>
</DataGrid.Columns>
</DataGrid>
</Grid>




看起来还像模像样的,不过,有个问题诶,只能选择整个"姓名"列,不能单独选择"大名"、"小名"列............各位大师,请教一下,复合表头是怎么做的。谢谢
...全文
509 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
人生导师 2013-09-03
  • 打赏
  • 举报
回复
dlfdf0fd 2013-09-03
  • 打赏
  • 举报
回复
哪位朋友还有好点的资料没啊?
dlfdf0fd 2013-09-02
  • 打赏
  • 举报
回复
有好的资料吗??
dlfdf0fd 2013-09-01
  • 打赏
  • 举报
回复
还有资料吗........
  • 打赏
  • 举报
回复
只能选择整个"姓名"列,不能单独选择"大名"、"小名"列. 这说明实际上还是一列。如果要能单独选择的话,就是两列了。 这里提供一种解决方案: 1. 把DataGrid的表头隐藏掉。可设置ColumnHeaderHeight为0. 2. 在DataGrid的上方,用Grid组合成一个假的表头,这个表头对你就可以随意设置合并了。列的宽度可以绑定到DataGrid中列的宽度。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧