
- 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="2">
<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="12345" Name="Book1" Price="$32.05" Author="author1" Catalog="Business"/>
<Item ID="23456" Name="Book2" Price="$32.05" Author="author2" Catalog="Language"/>
<Item ID="34567" Name="Book3" Price="$32.05" Author="author3" Catalog="Business"/>
<Item ID="67891" Name="Book4" Price="$32.05" Author="author4" Catalog="Business"/>
<Item ID="78910" Name="Book5" Price="$32.05" Author="author5" Catalog="Language"/>
<Item ID="89101" Name="Book6" Price="$32.05" Author="author6" Catalog="Business"/>
<Item ID="91011" Name="Book7" Price="$32.05" Author="author7" Catalog="Business"/>
<Item ID="10111" 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="0" 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="2">
<Expander.Header>
<DockPanel>
<TextBlock FontWeight="Bold" Text="{Binding Path=Name}"
Margin="5,0,0,0" Width="100"/>
<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="100"/>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding XPath=@Name}" Width="140"/>
<GridViewColumn Header="Price" DisplayMemberBinding="{Binding XPath=@Price}" Width="100"/>
<GridViewColumn Header="Author" DisplayMemberBinding="{Binding XPath=@Author}" Width="140"/>
</GridView>
</ListView.View>
</ListView>
转载于:https://www.cnblogs.com/YunGy/p/3324614.html