• CollectionViewSource 绑定的是从数据库取出的数据ListBind
  • 以DeptName为分组依据
  •     <Window.Resources>
    <CollectionViewSource x:Key="Data" Source="{Binding ListBind}">
    <CollectionViewSource.GroupDescriptions>
    <PropertyGroupDescription PropertyName="DeptName"/>
    </CollectionViewSource.GroupDescriptions>
    </CollectionViewSource>
    </Window.Resources>
  • 以DeptName为分组依据,扩展列头显示科室名称DeptName,
  • TextBlock绑定的数据为DeptName的Name,而不是 Text="{Binding Path=DeptName}"
  • <ListView Name="list_Reg"  ItemsSource="{Binding Source={StaticResource Data}}" Style="{StaticResource ListViewStyle}">
    <!--分组合并style-->
    <ListView.GroupStyle>
    <GroupStyle>
    <GroupStyle.ContainerStyle>
    <Style TargetType="{x:Type GroupItem}">
    <Setter Property="Margin" Value="0,0,0,5"/>
    <Setter Property="Template">
    <Setter.Value>
    <ControlTemplate TargetType="{x:Type GroupItem}">
    <Expander IsExpanded="True" BorderBrush="#FF1975A0" BorderThickness="">
    <Expander.Header>
    <DockPanel>
    <TextBlock FontWeight="Bold" Text="{Binding Path=Name}"
    Margin="5,0,0,0" Width="auto"/>
    </DockPanel> </Expander.Header> <Expander.Content> <ItemsPresenter/> </Expander.Content> </Expander> </ControlTemplate> </Setter.Value> </Setter> </Style> </GroupStyle.ContainerStyle> </GroupStyle> </ListView.GroupStyle>
  • 后来看到xml的分组
  • http://www.cnblogs.com/liuyazhou/archive/2009/09/10/1563886.html
  • <Window.Resources>
    <XmlDataProvider x:Key="OKData" XPath="/Info">
    <x:XData>
    <Info xmlns="">
    <Item ID="" Name="Book1" Price="$32.05" Author="author1" Catalog="Business"/>
    <Item ID="" Name="Book2" Price="$32.05" Author="author2" Catalog="Language"/>
    <Item ID="" Name="Book3" Price="$32.05" Author="author3" Catalog="Business"/>
    <Item ID="" Name="Book4" Price="$32.05" Author="author4" Catalog="Business"/>
    <Item ID="" Name="Book5" Price="$32.05" Author="author5" Catalog="Language"/>
    <Item ID="" Name="Book6" Price="$32.05" Author="author6" Catalog="Business"/>
    <Item ID="" Name="Book7" Price="$32.05" Author="author7" Catalog="Business"/>
    <Item ID="" Name="Book8" Price="$32.05" Author="author8" Catalog="Business"/>
    </Info>
    </x:XData>
    </XmlDataProvider>
    <CollectionViewSource
    x:Key='src' Source="{Binding Source={StaticResource OKData},XPath=Item}"> <CollectionViewSource.GroupDescriptions>
    <PropertyGroupDescription PropertyName="@Catalog"/>
    </CollectionViewSource.GroupDescriptions>
    </CollectionViewSource>
    </Window.Resources> <Grid>
    <ListView Name="listViewTask" ItemsSource='{Binding Source={StaticResource src}}'
    BorderThickness="" SelectionChanged="listViewTask_SelectionChanged" >
    <ListView.GroupStyle>
    <GroupStyle>
    <GroupStyle.ContainerStyle>
    <Style TargetType="{x:Type GroupItem}">
    <Setter Property="Margin" Value="0,0,0,5"/>
    <Setter Property="Template">
    <Setter.Value>
    <ControlTemplate TargetType="{x:Type GroupItem}"> <Expander IsExpanded="True" BorderBrush="Red" BorderThickness="">
    <Expander.Header>
    <DockPanel>
    <TextBlock FontWeight="Bold" Text="{Binding Path=Name}"
    Margin="5,0,0,0" Width=""/>
    <TextBlock FontWeight="Bold" Text="{Binding Path=ItemCount}"/>
    </DockPanel>
    </Expander.Header>
    <Expander.Content>
    <ItemsPresenter/>
    </Expander.Content>
    </Expander>
    </ControlTemplate>
    </Setter.Value>
    </Setter>
    </Style>
    </GroupStyle.ContainerStyle>
    </GroupStyle>
    </ListView.GroupStyle> <ListView.View>
    <GridView>
    <GridViewColumn Header="ID" DisplayMemberBinding="{Binding XPath=@ID}" Width=""/>
    <GridViewColumn Header="Name" DisplayMemberBinding="{Binding XPath=@Name}" Width=""/>
    <GridViewColumn Header="Price" DisplayMemberBinding="{Binding XPath=@Price}" Width=""/>
    <GridViewColumn Header="Author" DisplayMemberBinding="{Binding XPath=@Author}" Width=""/>
    </GridView>
    </ListView.View>
    </ListView>

WPF:ListView 分组合并的更多相关文章

  1. WPF ListView 分组 Grouping

    在Resource里定义数据源和分组字段: <CollectionViewSource x:Key="listData" Source="{Binding Cate ...

  2. WPF ListView 选中问题

    WPF ListView 选中问题  摘自:http://www.cnblogs.com/BBHor/archive/2013/04/28/VisualTreeHelper-PreviewMouseD ...

  3. [WPF]ListView点击列头排序功能实现

    [转]   [WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了. ...

  4. Anroid ListView分组和悬浮Header实现

    Anroid ListView分组和悬浮Header实现 分类: Android2014-01-27 12:26 6585人阅读 评论(13) 收藏 举报 listviewheadersection分 ...

  5. C# WPF DataGrid 分组(Group)

    原文:C# WPF DataGrid 分组(Group) 效果如图,每个列的名字可以自定义.我随便用了”File”和”Attachment Name”.  在Window的Resources里面设置S ...

  6. 利用 groupby apply list 分组合并字符

    利用 groupby apply list 分组合并字符 因为需要对数据进行分组和合并字符,找到了以下方法. 有点类似 SQL 的 Group BY. import pandas as pd impo ...

  7. WPF ListView 居中显示

    原文:WPF ListView 居中显示 今天遇到的问题: 方法1:设置GridViewColumn的ActualWidth <ListView > <ListView.View&g ...

  8. WPF ListView控件设置奇偶行背景色交替变换以及ListViewItem鼠标悬停动画

    原文:WPF ListView控件设置奇偶行背景色交替变换以及ListViewItem鼠标悬停动画 利用WPF的ListView控件实现类似于Winform中DataGrid行背景色交替变换的效果,同 ...

  9. WPF listview item mouse enter/over popup

    This is because the routing strategy of the Loaded event is Direct, which means that the routed even ...

随机推荐

  1. iOS中文API之NSLayoutconstraint

    AutoLayout为开发者提供了一种不同于传统对于UI元素位置指定的布局方法.以前,不论是在IB里拖放,还是在代码中写,每个UIView都会有自己的frame属性,来定义其在当前视图中的位置和尺寸. ...

  2. k近邻算法的Java实现

    k近邻算法是机器学习算法中最简单的算法之一,工作原理是:存在一个样本数据集合,即训练样本集,并且样本集中的每个数据都存在标签,即我们知道样本集中每一数据和所属分类的对应关系.输入没有标签的新数据之后, ...

  3. pptp记录日志

    /etc/ppp/ip-up #!/bin/bash # This file should not be modified -- make local changes to # /etc/ppp/ip ...

  4. Centos 安装 MySql

    下载mysql下载链接:http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.10-linux-glibc2.5-i686.tar.gz 下载后 ...

  5. 如何关闭windows电脑的开机自启程序

    很多时候我们打开电脑会发现,莫名其妙的出现一些已经在运行的程序了,这都是一些开机自启的软件之类的.可能你的电脑配置本来就不怎么高,开机还这样,那估计会很卡顿,那有什么方法可以关闭这些开机自动启动的程序 ...

  6. java 除法向上,向下取整

    向上取整用Math.ceil(double a) 向下取整用Math.floor(double a) // 举例: double a=35; double b=20; double c = a/b; ...

  7. 关于jquery-validate验证表单

    最近在做微信端的界面,一直写表单验证!一直在写表单验证!发现jquery-validate还真是好用哎,今天总结了一些: (1)required:true 必输字段(2)remote:"ch ...

  8. [6] 智能指针boost::weak_ptr

    [1]boost::weak_ptr简介 boost::weak_ptr属于boost库,定义在namespace boost中,包含头文件 #include<boost/weak_ptr.hp ...

  9. PHPCMS V9 框架代码分析(入口程序)

    PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只有一个统一的入口. 入口程序是在前期处理用户请求的引导程序.它是 ...

  10. MySQL如何关联查询

    总的来说,mysql认为任何一个查询都是一次关联,并不仅仅是一个查询需要用到两个表匹配才叫关联,所以,在mysql中,每一个查询,每一个片段(包括子查询,甚至单表select)都可能是关联.所以,理解 ...