Практическое руководство. Сортировка данных в представлении

В этом примере описывается сортировка данных в представлении.

Пример

В следующем примере создаются ListBox и Button.

<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 таким образом добавляет их в ItemCollection ListBox, и ItemCollection является производным от класса CollectionView. При привязывании ListBox к коллекцию с помощью свойства ItemsSource, можно использовать одинаковые технологии для сортировки.

        Private Sub OnClick(ByVal sender As Object, ByVal e As RoutedEventArgs)
            myListBox.Items.SortDescriptions.Add(New SortDescription("Content", ListSortDirection.Descending))
        End Sub
private void OnClick(object sender, RoutedEventArgs e)
{
    myListBox.Items.SortDescriptions.Add(
        new SortDescription("Content", ListSortDirection.Descending));
}

До тех пор, пока имеется ссылка на объект представления, можно использовать одинаковые технологии для сортировки содержимого других представлений коллекции. Пример получения представления см. в разделе Практическое руководство. Получение представления по умолчанию для коллекции данных. Другой пример см. в разделе Практическое руководство. Сортировка столбцов GridView при нажатии на заголовок. Для получения дополнительных сведений о представлениях см. раздел Привязка к коллекции в Общие сведения о связывании данных.

Пример применения логики сортировки в Extensible Application Markup Language (XAML) см. в разделе Практическое руководство. Сортировка и группировка данных с помощью представления в XAML.

См. также

Задачи

Практическое руководство. Сортировка столбцов GridView при нажатии на заголовок

Практическое руководство. Фильтрация данных в представлении

Ссылки

CustomSort

Основные понятия

Общие сведения о связывании данных

Другие ресурсы

Практические руководства по привязке данных