我有一个ListView绑定到一组对象。根据用户的选择,对象按其属性进行分组。
例如,我有水果的基本集合(品种,数量,来源):
Banana, 10, Africa
Apple, 2, France
Pear, 30, France
Banana, 40, Africa
成为,按各种水果分组:
Banana
Banana, 10, Africa
Banana, 40, Africa
Apple
Apple, 2, France
Pear
Pear, 30, France
对于每个对象和组头,我在XAML中添加一个复选框以供选择。使用组头中的复选框,我想选择整个组。 对于上面的例子,如果我检查标题“Banana”,则检查同一组中下面的2行。
这是我的ListView的XAML:
<ListView Name="MyCollectionView" ItemsSource="{Binding}" SelectionMode="Multiple">
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox Name="SelectAllGroup" />
<TextBlock Text="{Binding Name}" Margin="10,0,0,0" />
</StackPanel>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
<ListView.View>
<GridView>
<GridViewColumn Width="Auto" Header="Sélection" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Margin="0" VerticalAlignment="Center" IsChecked="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}, Path=IsSelected}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="Auto" Header="N°" DisplayMemberBinding="{Binding Path=Numero}"/>
<GridViewColumn Width="Auto" Header="Nom" DisplayMemberBinding="{Binding Path=Nom}" />
<GridViewColumn Width="Auto" Header="Responsable" DisplayMemberBinding="{Binding Path=Responsable}" />
<GridViewColumn Width="Auto" Header="Détail" DisplayMemberBinding="{Binding Path=Detail}" />
<GridViewColumn Width="Auto" Header="Calibre" DisplayMemberBinding="{Binding Path=Calibre}" />
</GridView>
</ListView.View>
</ListView>
我该怎么做?
提前致谢。