Bagikan melalui


Cara: Mengelompokkan Item dalam ListView yang Mengimplementasikan GridView

Contoh ini memperlihatkan cara menampilkan grup item dalam GridView mode ListView tampilan kontrol.

Contoh

Untuk menampilkan grup item dalam ListView, tentukan CollectionViewSource. Contoh berikut menunjukkan bahwa mengelompokkan CollectionViewSource item data sesuai dengan nilai Catalog bidang data.

<CollectionViewSource x:Key='src' 
                      Source="{Binding Source={StaticResource MyData}, 
                               XPath=Item}">
  <CollectionViewSource.GroupDescriptions>
    <PropertyGroupDescription PropertyName="@Catalog" />
  </CollectionViewSource.GroupDescriptions>
</CollectionViewSource>

Contoh berikut mengatur ItemsSource untuk ListViewCollectionViewSource ke yang ditentukan contoh sebelumnya. Contoh ini juga mendefinisikan GroupStyle yang mengimplementasikan Expander kontrol.

<ListView ItemsSource='{Binding Source={StaticResource src}}' 
          BorderThickness="0">
  <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="#FFA4B97F" 
                          BorderThickness="0,0,0,1">
                  <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>

Baca juga