当前位置: 首页 > news >正文

示例:WPF中DataGrid简单设置合并列头

一、目的:应用DataGridTemplateColumn列模板,去拆分列头和单元格布局的方式设置列头合并样式


二、实现

效果如下

三、环境


VS2022

四、示例

应用DataGridTemplateColumn自定义列头信息和单元格信息

 <DataGrid AutoGenerateColumns="False" ItemsSource="{h:GetStudents Count=50}"><DataGrid.ColumnHeaderStyle><Style TargetType="DataGridColumnHeader"><Setter Property="HorizontalAlignment" Value="Stretch"/><Setter Property="HorizontalContentAlignment" Value="Stretch"/></Style></DataGrid.ColumnHeaderStyle><DataGrid.Columns><DataGridTextColumn Width="Auto" Header="姓名" Binding="{Binding Name}"/><DataGridTextColumn Width="Auto"  Header="邮箱" Binding="{Binding Emall}"/><DataGridTemplateColumn  Width="Auto" ><DataGridTemplateColumn.HeaderTemplate><DataTemplate><Grid HorizontalAlignment="Stretch"><Grid.ColumnDefinitions><ColumnDefinition/><ColumnDefinition/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition/><RowDefinition/></Grid.RowDefinitions><Border  Grid.ColumnSpan="2" BorderBrush="LightGray" BorderThickness="0 0 0 1"><TextBlock Text="基本信息" HorizontalAlignment="Center"/></Border><Border  Grid.Row="1" Grid.Column="0" BorderBrush="LightGray" BorderThickness="0 0 1 0"><TextBlock Text="班级" HorizontalAlignment="Center"/></Border><TextBlock Text="地址" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="1"/></Grid></DataTemplate></DataGridTemplateColumn.HeaderTemplate><DataGridTemplateColumn.CellTemplate><DataTemplate><UniformGrid Rows="1"><Border  Grid.Row="1" Grid.Column="0" BorderBrush="Black" BorderThickness="0 0 1 0"><TextBlock Text="{Binding Class}"/></Border><TextBlock Text="{Binding Address}"/></UniformGrid></DataTemplate></DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn><DataGridTextColumn Header="年龄" Binding="{Binding Age}"/><DataGridTemplateColumn  Width="300" ><DataGridTemplateColumn.HeaderTemplate><DataTemplate><Grid HorizontalAlignment="Stretch"><Grid.ColumnDefinitions><ColumnDefinition/><ColumnDefinition/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition/><RowDefinition/></Grid.RowDefinitions><Border  Grid.ColumnSpan="2" BorderBrush="LightGray" BorderThickness="0 0 0 1"><TextBlock Text="调查问卷" HorizontalAlignment="Center"/></Border><Border  Grid.Row="1" Grid.Column="0" BorderBrush="LightGray" BorderThickness="0 0 1 0"><TextBlock Text="评分" HorizontalAlignment="Center"/></Border><TextBlock Text="电话" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="1"/></Grid></DataTemplate></DataGridTemplateColumn.HeaderTemplate><DataGridTemplateColumn.CellTemplate><DataTemplate><UniformGrid Rows="1"><Border  Grid.Row="1" Grid.Column="0" BorderBrush="Black" BorderThickness="0 0 1 0"><TextBlock Text="{Binding Score}"/></Border><TextBlock Text="{Binding Tel}"/></UniformGrid></DataTemplate></DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn></DataGrid.Columns></DataGrid>

五、需要了解的知识点

DataGridColumnHeader 类 (System.Windows.Controls.Primitives) | Microsoft Learn

DataGrid.ColumnHeaderStyleProperty Field (System.Windows.Controls) | Microsoft Learn

DataGridTemplateColumn 类 (System.Windows.Controls) | Microsoft Learn

六、源码地址

GitHub - HeBianGu/WPF-ControlDemo: 示例

GitHub - HeBianGu/WPF-ControlBase: Wpf封装的自定义控件资源库

GitHub - HeBianGu/WPF-Control: WPF轻量控件和皮肤库

七、了解更多

System.Windows.Controls 命名空间 | Microsoft Learn

https://github.com/HeBianGu

HeBianGu的个人空间-HeBianGu个人主页-哔哩哔哩视频

http://www.lryc.cn/news/377667.html

相关文章:

  • Matlab图像处理——细胞图像的分割和计数显示
  • 六爻排盘神机
  • 【ARMv8/v9 GIC 系列 2.1 -- GIC SPI 中断的 pending 和 clear pending 配置】
  • SpringBoot集成logback初始化源码解析(部分)
  • 【Linux工具】yum软件包管理器与Vim编辑器的高效运用
  • Matlab数学建模实战应用:案例4 - 图像处理
  • Studying-代码随想录训练营day15| 222.完全二叉树的节点个数、110.平衡二叉树、257.二叉树的所有路径、404.左叶子之和
  • Python 基础:异常
  • XML 应用程序
  • SprringCloud Gateway动态添加路由不重启
  • Windows安装mysql
  • chatgpt: linux 下用纯c 编写ui
  • Java十六进制Dump打印数据
  • 某棋牌渗透测试
  • JAVA面试(六)
  • 【C语言】手写学生管理系统丨附源码+教程
  • 流媒体传输协议HTTP-FLV、WebSocket-FLV、HTTP-TS 和 WebSocket-TS的详细介绍、应用场景及对比
  • 【机器学习】线性回归:从基础到实践的深度解析
  • 短视频开源项目MoneyPrinterTurbo:AI副业搞起来,视频制作更轻松!
  • 【JAVA】SpringBoot + skywalking 将接口的入参、出参、异常等信息上报到skywalking 链路追踪服务器上
  • [xmake]构建静态库和动态库
  • 功能测试 之 单模块测试----轮播图、登录、注册
  • MyBatis-PageHelper 源码解说
  • 基于uni-app和图鸟UI的智慧校园圈子小程序开发实践
  • STM32 keil工程移植到Visual Studio Code环境中编译
  • 细说CountDownLatch
  • java-克隆应用
  • RPC协议
  • 医疗器械3D全景展会在线漫游创造数字化时代的展览新篇章
  • IP_Endpoint类型在CAPL中的使用