WPF 数据分组显示

WPF 数据分组显示

效果展示:
在这里插入图片描述
Student类:

public class Student
{public string Name { get; set; }public string Class { get; set; }public int Age { get; set; }
}

MainWindow.xaml.cs

public partial class MainWindow : Window
{private ObservableCollection<Student> students;public IEnumerable<IGrouping<string,Student>> GroupeStudent { get; set; }public MainWindow(){InitializeComponent();students = new ObservableCollection<Student>(){new Student(){ Name = "赵一", Class = "初中", Age = 14},new Student(){ Name = "钱二", Class = "小学", Age = 9},new Student(){ Name = "孙三", Class = "高中", Age = 16},new Student(){ Name = "李四", Class = "初中", Age = 15},new Student(){ Name = "周五", Class = "高中", Age = 17},new Student(){ Name = "吴六", Class = "高中", Age = 16},new Student(){ Name = "郑七", Class = "小学", Age = 8},new Student(){ Name = "王八", Class = "初中", Age = 14}};GroupeStudent = students.GroupBy(x => x.Class);this.DataContext = this;}
}

MainWindow.xaml

<Grid Margin="40"><ListView ItemsSource="{Binding GroupeStudent}"><ListView.ItemTemplate><DataTemplate ><Expander Header="{Binding Key}"><ListView ItemsSource="{Binding}"><ItemsControl.ItemTemplate><DataTemplate><StackPanel Orientation="Horizontal"><TextBlock Text="{Binding Name}" Margin="10"/><TextBlock Text="{Binding Class}" Margin="10"/><TextBlock Text="{Binding Age}" Margin="10"/></StackPanel></DataTemplate></ItemsControl.ItemTemplate></ListView></Expander></DataTemplate></ListView.ItemTemplate></ListView>
</Grid>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/33474.shtml

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

相关文章

【调试笔记-20240620-Windows- Tauri + Vue 中实现部分区域滚动】

调试笔记-系列文章目录 调试笔记-20240620-Windows- Tauri Vue 中实现部分区域滚动 文章目录 调试笔记-系列文章目录调试笔记-20240620-Windows- Tauri Vue 中实现部分区域滚动 前言一、调试环境操作系统&#xff1a;Windows 10 专业版调试环境调试目标 二、调试步骤搜索相似…

如何在Java中处理InterruptedException异常?

如何在Java中处理InterruptedException异常&#xff1f; 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在Java编程中&#xff0c;多线程是一个常见的应用场景…

专业140+总分400+武汉理工大学855信号与系统考研经验电子信息与通信工程,真题,大纲,参考书

专业855信号与系统140&#xff0c;总分400&#xff0c;今年顺利上岸武汉理工大学&#xff0c;总结一下自己的复习经历&#xff0c;希望对报考武理工的同学有所帮助。专业课&#xff1a;855信号与系统 首先教材&#xff1a; 《信号与系统》高等教育出版社 作者&#xff1a;刘泉…

第一百二十三节 Java面向对象的设计 - Java接口继承

Java面向对象的设计 - Java接口继承 接口可以从另一个接口继承。与类不同&#xff0c;接口可以从多个接口继承。 interface Singer {void sing();void setRate(double rate);double getRate(); } interface Writer {void write();void setRate(double rate);double getRate();…

人间烟火气视频素材去哪里找?人间生活气息视频素材网站分享

在数字化时代迅猛发展的今天&#xff0c;短视频已经成为人们表达情感、记录生活的流行方式。无论是在抖音、快手还是B站&#xff0c;一种特别的元素——人间烟火气&#xff0c;为短视频增添了无尽魅力。许多创作者常常困惑&#xff0c;这种生活气息浓厚的视频素材应当如何寻找&…

使用 Swift 6 语言模式构建 Swift 包

文章目录 前言下载 Swift 6 工具链Swiftenv - macOSSwiftly - Linux在 SPM 中启用语言模式命令行包清单文件输出结论前言 我最近了解到,Swift 6 的一些重大变更(如完整的数据隔离和数据竞争安全检查)将成为 Swift 6 语言模式的一部分,该模式将在 Swift 6 编译器中作为可选…

Python 类对象

Python 类对象 经典迭代器 可迭代对象的定义&#xff1a; 使用内置的iter可以获取迭代器的对象。如果对象实现了能返回迭代器的__iter__方法&#xff0c;那么对象就是可迭代的。序列都可以迭代。实现了__getitem__方法&#xff0c;而且接受从0开始的索引&#xff0c;这种对象也…

EfficientNet-V1论文阅读笔记

目录 EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks摘要Introduction—简介Compound Model Scaling—混合模型缩放Problem Formulation—范式化问题&#xff08;理论基础&#xff09;Scaling Dimensions—维度缩放Compound Scaling—混合缩放 Eff…

【网络协议】精讲ARP协议工作原理!图解超赞超详细!!!

亲爱的用户&#xff0c;打开微信&#xff0c;搜索公众号&#xff1a;“风云说通信”&#xff0c;即可免费阅读该文章~~ 目录 前言 1. ARP协议介绍 1.1 ARP协议功能 1.2 ARP请求报文 1.3 ARP工作原理 2. ARP 缓存超时 2.1 RARP 3. ARP 攻击 3.1 ARP 攻击分类 前言 首先…

前后端分离后的后端多语言开发:构建统一认证和授权中心

随着前后端分离架构的普及&#xff0c;后端开发逐渐迈向多语言、多平台并存的局面。这种变化带来了灵活性和高效性&#xff0c;但同时也引出了新的挑战&#xff0c;特别是在构建统一认证中心和授权中心方面。本文将探讨如何在前后端分离的架构下&#xff0c;通过合理设计和技术…

中断响应与事件响应

中断响应和事件响应是计算机系统和编程中的两种重要机制&#xff0c;它们用于处理不同情况下的外部或内部发生的事情。尽管它们的目的相似&#xff0c;即对某些特定情况做出反应&#xff0c;但它们在实现、使用场景及设计哲学方面存在一些关键区别。 中断响应 中断响应是指计算…

理解人体手臂七个自由度对应的运动

写本篇的目的在于&#xff0c;我发现很多人理不清人体手臂运动时内收/外展、屈曲/伸展等动作描述的关系&#xff0c;包括我自己也是&#xff01; 我每次要用到的时候都要去查&#xff0c;记不下来&#xff0c;比较麻烦&#xff0c;于是归纳本篇&#xff0c;包含了我本人的理解 …

Hightec编译器系列之高级调试技巧精华总结

Hightec编译器系列之高级调试技巧精华总结 小T为了便于大家理解&#xff0c;本文的思维导图大纲如下&#xff1a; 之前可能很多小伙伴没有使用过Hightec编译器&#xff0c;大家可以参考小T之前的文章《Hightec编译器系列之白嫖就是爽》可以下载一年试用版本。 小T使用过适配英…

Qt Signals and Slots:多次连接的影响与处理

在Qt中&#xff0c;信号&#xff08;signals&#xff09;与槽&#xff08;slots&#xff09;是实现对象之间通信的核心机制。本文探讨了一个技术问题&#xff1a;若同一个信号和槽被连接了两次会发生什么&#xff1f;以及Qt如何处理这种情况。 问与答 Q: 如果同一个信号和槽被…

Python技术进阶:从基础到数据分析实战

Python技术进阶&#xff1a;从基础到数据分析实战 作为一名四十多岁的中年技术员&#xff0c;我见证了编程语言的兴衰更迭&#xff0c;而Python无疑是近年来最耀眼的明星之一。它以其简洁的语法、丰富的库和框架、以及强大的社区支持&#xff0c;赢得了无数开发者的青睐。今天…

C++ STL Iterators

STL中的迭代器是指针的泛化,它表示容器中的位置,迭代器是STL容器和STL算法之间的的粘合剂,它给容器提供了强大的迭代和随机访问功能。迭代器通常支持以下操作: (1) * 返回当前位置的元素 (2) ==, != 比较两个位置 (3) = 给迭代器赋一个新值 迭代器通常分为以…

GEOSERVER 添加 Shapefile

添加 Shapefile 是任何 GIS 工具的核心。本节介绍使用 GeoServer 添加和发布 Shapefile 的任务。 导航到 workshop 目录&#xff08;在 Windows 上&#xff09;并找到以下 shapefile&#xff1a;$TRAINING_ROOT/data/user_data/%TRAINING_ROOT%\data\user_data 主要道路. shp 主…

2024.6.24 刷题总结

2024.6.24 **每日一题** 503.下一个更大元素 Ⅱ&#xff0c;刚开始思考时&#xff0c;会想到坐标变换&#xff0c;进而想到每个数字追多遍历数组的两倍长度&#xff0c;即我们可以把数组整体往后复制一遍&#xff0c;遍历查询即可&#xff0c;但是时间复杂度太高&#xff0c;考…

pyhon模块以及常用的第三方模块

import my_info as info print(info.name) info.show()from my_info import * print(name) show() pyhon中包的导入 import admin.my_admin as ad # 包名.模块名 admin是包名&#xff0c;my_admin是模块名print(ad.name) print(ad.info())from admin import my_admin as ad # …

点云处理实操 1. 求解点云法向

目录 一、点云法向的定义 二、如何计算计算法向量 三、实操 四、代码 main.cpp CMakeList.txt 一、点云法向的定义 点云法向量是指点云中某个点的局部表面法向量(Normal Vector)。法向量在三维空间中用来描述表面在该点处的方向属性,它是表面几何特征的重要描述工具。…