• CollectionViewSource 绑定的是从数据库取出的数据ListBind
  • 以DeptName为分组依据
    1. <Window.Resources>
    2. <CollectionViewSource x:Key="Data" Source="{Binding ListBind}">
    3. <CollectionViewSource.GroupDescriptions>
    4. <PropertyGroupDescription PropertyName="DeptName"/>
    5. </CollectionViewSource.GroupDescriptions>
    6. </CollectionViewSource>
    7. </Window.Resources>
  • 以DeptName为分组依据,扩展列头显示科室名称DeptName,
  • TextBlock绑定的数据为DeptName的Name,而不是 Text="{Binding Path=DeptName}"
    1. <ListView Name="list_Reg" ItemsSource="{Binding Source={StaticResource Data}}" Style="{StaticResource ListViewStyle}">
    2. <!--分组合并style-->
    3. <ListView.GroupStyle>
    4. <GroupStyle>
    5. <GroupStyle.ContainerStyle>
    6. <Style TargetType="{x:Type GroupItem}">
    7. <Setter Property="Margin" Value="0,0,0,5"/>
    8. <Setter Property="Template">
    9. <Setter.Value>
    10. <ControlTemplate TargetType="{x:Type GroupItem}">
    11. <Expander IsExpanded="True" BorderBrush="#FF1975A0" BorderThickness="">
    12. <Expander.Header>
    13. <DockPanel>
    14. <TextBlock FontWeight="Bold" Text="{Binding Path=Name}"
    15. Margin="5,0,0,0" Width="auto"/>
    1. </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
    1. <Window.Resources>
    2. <XmlDataProvider x:Key="OKData" XPath="/Info">
    3. <x:XData>
    4. <Info xmlns="">
    5. <Item ID="" Name="Book1" Price="$32.05" Author="author1" Catalog="Business"/>
    6. <Item ID="" Name="Book2" Price="$32.05" Author="author2" Catalog="Language"/>
    7. <Item ID="" Name="Book3" Price="$32.05" Author="author3" Catalog="Business"/>
    8. <Item ID="" Name="Book4" Price="$32.05" Author="author4" Catalog="Business"/>
    9. <Item ID="" Name="Book5" Price="$32.05" Author="author5" Catalog="Language"/>
    10. <Item ID="" Name="Book6" Price="$32.05" Author="author6" Catalog="Business"/>
    11. <Item ID="" Name="Book7" Price="$32.05" Author="author7" Catalog="Business"/>
    12. <Item ID="" Name="Book8" Price="$32.05" Author="author8" Catalog="Business"/>
    13. </Info>
    14. </x:XData>
    15. </XmlDataProvider>
    16. <CollectionViewSource
    17. x:Key='src' Source="{Binding Source={StaticResource OKData},XPath=Item}">
    18.  
    19. <CollectionViewSource.GroupDescriptions>
    20. <PropertyGroupDescription PropertyName="@Catalog"/>
    21. </CollectionViewSource.GroupDescriptions>
    22. </CollectionViewSource>
    23. </Window.Resources>
    24.  
    25. <Grid>
    26. <ListView Name="listViewTask" ItemsSource='{Binding Source={StaticResource src}}'
    27. BorderThickness="" SelectionChanged="listViewTask_SelectionChanged" >
    28. <ListView.GroupStyle>
    29. <GroupStyle>
    30. <GroupStyle.ContainerStyle>
    31. <Style TargetType="{x:Type GroupItem}">
    32. <Setter Property="Margin" Value="0,0,0,5"/>
    33. <Setter Property="Template">
    34. <Setter.Value>
    35. <ControlTemplate TargetType="{x:Type GroupItem}">
    36.  
    37. <Expander IsExpanded="True" BorderBrush="Red" BorderThickness="">
    38. <Expander.Header>
    39. <DockPanel>
    40. <TextBlock FontWeight="Bold" Text="{Binding Path=Name}"
    41. Margin="5,0,0,0" Width=""/>
    42. <TextBlock FontWeight="Bold" Text="{Binding Path=ItemCount}"/>
    43. </DockPanel>
    44. </Expander.Header>
    45. <Expander.Content>
    46. <ItemsPresenter/>
    47. </Expander.Content>
    48. </Expander>
    49. </ControlTemplate>
    50. </Setter.Value>
    51. </Setter>
    52. </Style>
    53. </GroupStyle.ContainerStyle>
    54. </GroupStyle>
    55. </ListView.GroupStyle>
    56.  
    57. <ListView.View>
    58. <GridView>
    59. <GridViewColumn Header="ID" DisplayMemberBinding="{Binding XPath=@ID}" Width=""/>
    60. <GridViewColumn Header="Name" DisplayMemberBinding="{Binding XPath=@Name}" Width=""/>
    61. <GridViewColumn Header="Price" DisplayMemberBinding="{Binding XPath=@Price}" Width=""/>
    62. <GridViewColumn Header="Author" DisplayMemberBinding="{Binding XPath=@Author}" Width=""/>
    63. </GridView>
    64. </ListView.View>
    65. </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. 为Go Web App 创建一个主页面

    原文地址    大多数web app都有一个相同的布局.这个布局可能包含一个header或者footer,甚至可能包含一个导航菜单.Go的标准库提供一个简单的方式来创建这些基本元素,通过被不同的页面重 ...

  2. IOS基础面试题

    最近离职了,找工作,光会做项目,对基础不熟,今天就总结了一点面试题. 废话不多说,上题吧: 1.objective-c中的数字对象都有哪些,简述它们与基本数据类型的区别是什么. 基本类型和C一样,主要 ...

  3. GDB调试多线程

    先介绍一下GDB多线程调试的基本命令. info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID. 前面有*的是当前调试的线程. th ...

  4. http://www.miniui.com/demo/#src=datagrid/celledit.html

    http://www.miniui.com/demo/#src=datagrid/celledit.html   jQuery MiniUI Demo

  5. 关于学习Knockoutjs--入门(一)

    前段时间做项目一直在用knockout,虽然用着不怎么利索,但是知识是一点一点探索的. 首先介绍一下 Knockout是什么? 他是一个很优秀的js库,他最大的功能就是实现双向绑定,它可以帮助你仅使用 ...

  6. 一步一步实现MVC5+EF6+Bootstarp+Autofac+NoSql实现OADemo 之登陆(一) 验证码 Captcha 之大插件小用

    不知何年何月才能完成OADemo啊,总之还是一步一步来吧,这段时间开始着手了,先做登陆.  前段时间研究了一下在CentOS7下安装Mysql和Memcached服务,并测试了用C#操作,结果还行. ...

  7. Windows Azure Azure 简介

    平台介绍 Windows Azure作为一个微软公有云平台,被寄予了厚望. 可以说Windows Azure与Windows RT一样是微软战略转型的重点. 2012年9月微软与中国本土的电信服务提供 ...

  8. winform插件机制学习

    这两天在看自定义控件,原来有太多知识没有掌握.今天看到插件机制,心里突然一亮,这个东西听了不少次,就是不知道是啥回事.这次有幸书里包含一个案例,我就跟着它一步步来.终于知道是什么回事了.这个应该在软件 ...

  9. 遍历对象所有属性(json对象)

    var response = { "status": 1, "message": "\u6210\u529f", "data&qu ...

  10. JSON 格式说明

    一维json { "sn" : "CS20160918095444121640", "suitstypes_id" : "47&q ...