CollectionViewSource 绑定的是从数据库取出的数据ListBind以DeptName为分组依据
<Window.Resources> <CollectionViewSource x:Key="Data" Source="{Binding ListBind} </Window.Resources>
正文
CollectionViewSource 绑定的是从数据库取出的数据ListBind 以DeptName为分组依据 <Window.Resources> <CollectionViewSource x:Key="Data" Source="{Binding ListBind}"> <CollectionViewSource.GroupDescriptions> <PropertyGroupDescription PropertyName="DeptName"/> </CollectionViewSource.GroupDescriptions> </CollectionViewSource> </Window.Resources>
分组字段也可以在后台中定义
CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(lvItemsCategory.ItemsSource);
PropertyGroupDescription groupDescription = new PropertyGroupDescription("CategoryType")
"CategoryType"是要绑定的字段名 view.GroupDescriptions.Add(groupDescription);
以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 [email protected]}" Width="100"/>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding [email protected]}" Width="140"/>
<GridViewColumn Header="Price" DisplayMemberBinding="{Binding [email protected]}" Width="100"/>
<GridViewColumn Header="Author" DisplayMemberBinding="{Binding [email protected]}" Width="140"/>
</GridView>
</ListView.View>
</ListView>
原文链接:http://www.cto800.com/view/11971092829688260658.html