• 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. LUA语言注意点归集

    统计元素个数接口--只计算以整数为下标的 第一段连续元素的数目 #tab 和 table.getn() http://ju.outofmemory.cn/entry/29450 我们修改table: ...

  2. 关于 Android 5.0 原生系统网络图标上的感叹号问题解决方法

    解决方案 adb shell settings put global captive_portal_server g.cn 参考 关于 android 5.0 网络图标上的感叹号及其解决办法

  3. PHP5与MySQL数据库操作

    1 建立数据库表:  2 读取数据 2.1 建立01.php 2.2 建立member.php  3 修改数据 3.1 建立level.php(修改数据) 3.2 建立up_level.php  4 ...

  4. iOS-打开word、ppt、pdf、execl文档方式

    这里面包括下载和打开文档的操作:需要先导入<AFNetworking>的框架 第一步:创建一个显示文档的view:ReadViewController (1).h的代码如下: @inter ...

  5. MVC 的各个部分都有那些技术来实现?如何实现?

    MVC 的各个部分都有那些技术来实现?如何实现? MVC 是 Model-View-Controller 的简写 "Model" 代表的是应用的业务逻辑(通过JavaBean,EJ ...

  6. android Thread和Service的区别

    http://www.cnblogs.com/devinzhang/archive/2012/01/11/2319433.html (zhuan)

  7. paper 102:极限学习机(Extreme Learning Machine)

    原文地址:http://blog.csdn.net/google19890102/article/details/18222103   极限学习机(Extreme Learning Machine) ...

  8. JS数组定义【收藏】

    最近在学习JS,刚好学到数组,发现章节还蛮多了而且发现了数组的以前好多不知道的东西,顺便整理下: 数组一共有有四种定义的方式 使用构造函数: var a = new Array(); var b = ...

  9. cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element ‘dubbo:application’. – schema_reference.4: Failed to read schema document

    解决办法: 1.直接百度下载一个dubbo.xsd文件 2.myeclispe-->window-->preferences-->xml catalog-->add 完美解决!

  10. linux线程的实现【转】

    转自:http://www.cnblogs.com/zhaoyl/p/3620204.html 首先从OS设计原理上阐明三种线程:内核线程.轻量级进程.用户线程 内核线程 内核线程就是内核的分身,一个 ...