Share via


방법: GridView를 구현하는 ListView의 항목 그룹화

업데이트: 2007년 11월

이 예제에서는 ListView 컨트롤의 GridView 뷰 모드에 항목의 그룹을 표시하는 방법을 보여 줍니다.

예제

ListView에 항목 그룹을 표시하려면 CollectionViewSource를 정의해야 합니다. 다음 예제에서는 Catalog 데이터 필드의 값에 따라 데이터 항목을 그룹화하는 CollectionViewSource를 보여 줍니다.

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

다음 예제에서는 ListViewItemsSource를 이전 예제에서 정의한 CollectionViewSource로 설정합니다. 예제에서는 또한 Expander 컨트롤을 구현하는 GroupStyle을 정의합니다.

<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>

전체 샘플을 보려면 ListView 그룹화 샘플을 참조하십시오.

참고 항목

개념

ListView 개요

GridView 개요

참조

ListView

GridView

기타 리소스

ListView 방법 항목

ListView 샘플