オブジェクトのコレクションにバインドされた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に追加します。グループヘッダーのチェックボックスで、グループ全体を選択したいと思います。上記の例で、ヘッダー「バナナ」をチェックすると、同じグループ内の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>
これどうやってするの ?
前もって感謝します。