다음을 통해 공유


방법: 뷰의 데이터 정렬

업데이트: 2007년 11월

이 예제에서는 뷰에서 데이터를 정렬하는 방법을 설명합니다.

예제

다음 예제에서는 간단한 ListBoxButton을 만듭니다.

<Window x:Class="ListBoxSort_snip.Window1"
    xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
    Title="ListBoxSort_snip" Height="300" Width="300">
    <DockPanel>
      <ListBox Name="myListBox" DockPanel.Dock="Top">
        <ListBoxItem>my</ListBoxItem>
        <!--Or you can set the content this way:-->
        <!--<ListBoxItem Content="my"/>-->
        <ListBoxItem>1</ListBoxItem>
        <ListBoxItem>Sort</ListBoxItem>
        <ListBoxItem>3</ListBoxItem>
        <ListBoxItem>ListBox</ListBoxItem>
        <ListBoxItem>2</ListBoxItem>
      </ListBox>
      <Button Click="OnClick" Width="30" Height="20" DockPanel.Dock="Top">Sort</Button>
    </DockPanel>
</Window>

단추의 Click 이벤트 처리기에는 ListBox의 항목을 내림차순으로 정렬하는 논리가 포함되어 있습니다. 이런 식으로 항목을 ListBox에 추가하면 항목이 ListBoxItemCollection에 추가되며 ItemCollectionCollectionView 클래스에서 파생되기 때문에 이 작업을 수행할 수 있습니다. ItemsSource 속성을 사용하여 ListBox를 컬렉션에 바인딩하는 경우 동일한 기법을 사용하여 정렬할 수 있습니다.

private void OnClick(object sender, RoutedEventArgs e)
{
    myListBox.Items.SortDescriptions.Add(
        new SortDescription("Content", ListSortDirection.Descending));
}

뷰 개체에 대한 참조가 있는 경우에 한해서 동일한 기법을 사용하여 다른 컬렉션 뷰의 콘텐츠를 정렬할 수 있습니다. 뷰를 가져오는 방법에 대한 예제를 보려면 방법: 데이터 수집의 기본 뷰 가져오기를 참조하십시오. 다른 예제를 보려면 방법: 머리글을 클릭할 때 GridView 열 정렬을 참조하십시오. 뷰에 대한 자세한 내용은 데이터 바인딩 개요에서 컬렉션에 바인딩을 참조하십시오.

XAML(Extensible Application Markup Language)에서 정렬 논리를 적용하는 방법에 대한 예제를 보려면 방법: XAML에서 뷰를 사용하여 데이터 정렬 및 그룹화를 참조하십시오.

참고 항목

작업

방법: 머리글을 클릭할 때 GridView 열 정렬

방법: 뷰에서 데이터 필터링

개념

데이터 바인딩 개요

참조

CustomSort

기타 리소스

데이터 바인딩 샘플

데이터 바인딩 방법 항목