美文网首页
WPF-ComboBox分组

WPF-ComboBox分组

作者: 写前端的大叔 | 来源:发表于2020-04-05 10:17 被阅读0次

在项目开发的时候用到了ComboBox分组的功能,开始本来想打算自己写一个自定义控件的,后来查了下相关资料,系统组件中已经支持ComboBox的分组功能,如下所示为分组后的效果图,下面来简单介绍下怎么实现的。

ComboBox.png

1.添加ComboBox控件

首先在XAML文件中添加一个ComboBox控件,并添加ComboBox.GroupStyle,分组主要使用的是这个节点,然后再通过TextBlock来显示分组的名称。

<ComboBox x:Name="comboBox" >
            <ComboBox.GroupStyle>
                <GroupStyle>
                    <GroupStyle.HeaderTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Name}"/>
                        </DataTemplate>
                    </GroupStyle.HeaderTemplate>
                </GroupStyle>
            </ComboBox.GroupStyle>
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Name}"/>
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>

2.添加数据

定义实体类
首先定义一个实体类,定义NameCategory两个属性,分别用于显示列表上的名称和组名。

public class Item
    {
        public string Name { get; set; }
        public string Category { get; set; }
    }

添加数据
定义一个List,再往数组中添加测试数据,然后再使用ListCollectionView来组装列表数据,最后将ListCollectionView对象赋值给ComboBoxItemsSource,如下所示:

List<Item> items = new List<Item>();
items.Add(new Item() { Name = "Item1", Category = "A"  });
items.Add(new Item() { Name = "Item2", Category = "A" });
items.Add(new Item() { Name = "Item3", Category = "A" });
items.Add(new Item() { Name = "Item4", Category = "B" });
items.Add(new Item() { Name = "Item5", Category = "B" });
ListCollectionView lcv = new ListCollectionView(items);
lcv.GroupDescriptions.Add(new PropertyGroupDescription("Category"));
this.comboBox.ItemsSource = lcv;

只需简单的两步,就可以实现一个下拉分组的列表。
个人博客

相关文章

  • WPF-ComboBox分组

    在项目开发的时候用到了ComboBox分组的功能,开始本来想打算自己写一个自定义控件的,后来查了下相关资料,系统组...

  • WPF-ComboBox分组多选

    之前写过一篇文件,介绍的是ComboBox分组,但只能选择一个,不能进行多选,这篇文件介绍的是使用ComboBox...

  • 【实体类】权限分组

    字段 分组id 分组名 分组描述名 分组描述信息 权限list 懒

  • 《SQL必知必会》第 10 课 分组数据

    目标: 10.1 数据分组 10.2 创建分组 10.3 过滤分组 10.4 分组和排序 10.5 SELECT ...

  • SQL应注意小知识点(仅供个人学习)

    一、 分组 group by 多个字段进行分组时,分组字段全部相同时才能进行分组注意多个分组不是一个字段分组之后另...

  • Mysql笔记之分组函数和分组查询

    1、分组函数 2、分组查询 3、分组查询案例

  • Pandas分组统计与时间序列

    分组统计 1.创建分组 2.显示分组内容 3.分组对象的统计方法 分组对象的属性和方法 直接执行describe(...

  • 分组密码DES

    分组密码的原理 DES是分组密码,分组密码将消息进行等长分组,使用同一密钥对每个分组进行加密。 DES算法 DES...

  • Pandas - 10.3 单个分组聚合

    单个分组 保存分组 选择分组 涉及多个变量的分组计算 针对可能计算的列计算,删除不能计算的列 历遍分组 group...

  • uCloud V1.2版本详细说明

    1、提供设备分组批量下发配置功能。 (1)在分组管理中新建分组。 (2)选择分组,然后在分组设备中添加设备。 (3...

网友评论

      本文标题:WPF-ComboBox分组

      本文链接:https://www.haomeiwen.com/subject/udiyphtx.html