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

news2024/12/24 2:17:36

一、目的:应用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.coloradmin.cn/o/1831722.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

强化安全保障:广东新能源工厂可燃气体报警校验流程解析

近年来&#xff0c;随着国家对清洁能源和可持续发展战略的高度重视&#xff0c;新能源产业迅速崛起&#xff0c;广东作为我国经济发展的重要引擎&#xff0c;其新能源工厂的建设与运营也走在了全国前列。 这些工厂大多涉及光伏、风能、生物质能等多个领域&#xff0c;生产过程…

VxeBasicTable 右侧工具按钮不显示的检测与处理

1、先上张图&#xff1a; 操作区&#xff0c;按钮不显示。 检查了代码都是正常的。 2、代码检查 这个其实不用检查&#xff0c;因为这个区域是显示出来了&#xff0c;但是上面的actionItem没有显示。 3、检查action item&#xff1a; 发现也挺好的&#xff0c;里面也写了 /…

HQChart实战教程73-仿tradingview指标MACD

HQChart实战教程73-仿tradingview指标MACD MACD![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/84d180b5620940f6b9fe08c6f10eb0f3.png)麦语法脚本实心MACD指标脚本效果 空心MACD指标脚本效果图 自定义指标添加到系统指标里HQChart插件源码地址 MACD tradingview中…

【AI大模型】Transformers大模型库(十):repetition_penalty惩罚系数

目录​​​​​​​ 一、引言 二、惩罚系数repetition_penalty 2.1 概述 2.2 使用说明 2.3 使用示例 三、总结 一、引言 这里的Transformers指的是huggingface开发的大模型库&#xff0c;为huggingface上数以万计的预训练大模型提供预测、训练等服务。 &#x1f917; T…

智能室内空气质量监测预警系统小程序设计说明书

智能室内空气质量监测预警系统小程序设计说明书 一、应用功能与系统设计 &#xff08;一&#xff09; 应用功能 该小程序设计的目的是为了配合环境监测吸顶灯,Mini空气监测仪等硬件设备实时数据展示与远程设备控制等功能&#xff0c;系统框架图如图1-1所示。用户可以从小程序…

第二证券:新股“肉签”不断,今日两只申购!光伏巨头小伙伴来了

本周&#xff08;6月17日—6月21日&#xff09;&#xff0c;A股商场将迎来两只新股&#xff0c;分别为沪市主板的永臻股份和创业板的爱迪特&#xff0c;均将于本周一进行申购。 资料显现&#xff0c;永臻股份是国内领先的铝合金光伏结构件制造商&#xff0c;公司发行价为23.35…

数据结构之“双向链表”

前言 前面我们介绍了单向链表&#xff0c;我们这里的双向链表是为了弥补单向链表只能从头节点开始单向遍历&#xff0c;插入和删除节点时需要更多的操作&#xff0c;因为无法直接访问前一个节点。 目录 前言 一、双向链表的结构 二、实现双向链表 2.1符号定义 2.2节点创…

Zenity向Ubuntu系统发送通知

文章目录 前言 一、Zenity是什么&#xff1f; 二、使用步骤 1.确认是否已安装 2.使用 三. 结论 前言 大家都知道&#xff0c;久坐带来的后果有多么痛苦&#xff0c;但是每天上班&#xff0c;一坐一整天&#xff0c;想着起来活动一下&#xff0c;干起活来就又忘啦&#x…

永辉超市的礼品卡有什么用?

永辉超市礼品卡现在不仅能在门店使用&#xff0c;还能在线上下单用 而且现在很少有人专门去买永辉卡&#xff0c;像我就是用积分兑换的哈哈哈哈 主要积分留着也没用&#xff0c;最后兑了几张100块面值的永辉卡 又去收卡云上看了下&#xff0c;最近92.5折&#xff0c;然后我就…

PyTorch与TensorFlow模型互转指南

在深度学习的领域中&#xff0c;PyTorch和TensorFlow是两大广泛使用的框架。每个框架都有其独特的优势和特性&#xff0c;因此在不同的项目中选择使用哪一个框架可能会有所不同。然而&#xff0c;有时我们可能需要在这两个框架之间进行模型的转换&#xff0c;以便于在不同的环境…

【大语言模型】本地快速部署Ollama运行大语言模型详细流程

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

在mybatis 中如何防止 IN里面的参数过多?

代码示例&#xff1a; select xsid from zhxg_gy_ssfp_cwfp where xsid in <foreach collection"list" item"item" open"(" close")" separator" " index"index"> <if test"(index % 999) 998&quo…

C#调用外部API(托管和非托管DLL)

DLL程序的两种类型 托管对象(有垃圾回收机制&#xff0c;内存安全)非托管对象(无垃圾回收机制&#xff0c;需手动回收) 托管对象与非托管对象具体区别参考&#xff1a;【C#】中托管与非托管对象区别、托管与非托管DLL区别_c# dllimport 托管dll-CSDN博客 生成和调用托管对象…

华为中小企业组网

一、组网图 说明&#xff1a;接入交换机ACC1&#xff08;S2750&#xff09;&#xff0c;核心/汇聚交换机CORE&#xff08; S5700 &#xff09;和出口路由器Router&#xff08;AR系列路由器&#xff09;为例。 核心交换机配置VRRP保证网络可靠性&#xff0c;配置负载分担有效利…

Fastjson漏洞之CVE-2022-25845

前言&#xff1a; 针对Fastjson之前已经介绍了&#xff0c;这里就不再重复了&#xff0c;漏洞CVE-2017-18349只能用来攻击>1.2.24版本的&#xff0c;CVE-2022-25845属于CVE-2017-18349的升级版&#xff0c;但是目前仅影响到1.2.83以下版本。CVE-2022-25845本质上是绕过了名…

数据仓库与数据挖掘(期末复习)

数据仓库与数据挖掘&#xff08;期末复习&#xff09; ETL的含义Extract 、 Transformation、Load。 ODS的全称Operational Data Store。 DW全称 Data Warehourse DM全称是Data Mart 数据仓库数据抽取时所用到技术是增量、全量、定时、调度 STAGE层作用是提供业务系统数据…

[Python学习篇] Python列表

列表&#xff08;List&#xff09;&#xff1a;列表是可变的&#xff0c;这意味着你可以修改列表的内容&#xff0c;例如增加、删除或更改元素。列表使用方括号 [] 表示。列表可以一次性存储多个数据&#xff0c;且可以存不同数据类型。 语法&#xff1a; [数据1, 数据2, 数据3…

浅浅记录一下实现锚点定位

如图&#xff0c;左边是一个快捷导航&#xff0c;右边是主体内容&#xff08;每个卡片对应一个小导航&#xff09; 直接上代码分析 左边的导航侧由静态数据循环生成&#xff08;当前选中有蓝色背景样式&#xff0c;还有不可点击样式&#xff09; <div class"word-tip…

springboot与flowable(5):任务分配(表达式)

在做流程定义时我们需要给相关的用户节点指派对应的处理人。在flowable中提供了三种分配的方式。 一、固定分配 在分配用户时选择固定值选项确认即可。 二、表达式 1、值表达式 2、方法表达式 三、表达式流程图测试 1、导出并部署 导出流程图&#xff0c;复制到项目中 部署流…

集合进阶(泛型、泛型通配符、数据结构(二叉树、平衡二叉树、红黑树

一、泛型类、泛型方法、泛型接口 1、泛型概述 泛型&#xff1a;是JDK5中引入的特性&#xff0c;可以在编译阶段约束操作的数据类型&#xff0c;并进行检查。泛型的格式&#xff1a;<数据类型>注意&#xff1a;泛型只能支持引用数据类型。 泛型的好处 1、统一数据类型。 …