Show / Hide Table of Contents

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

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

Пример

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

<Window x:Class="ListBoxSort_snip.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://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 void OnClick(object sender, RoutedEventArgs e)
{
    myListBox.Items.SortDescriptions.Add(
        new SortDescription("Content", ListSortDirection.Descending));
}

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

Например, как применить логику сортировки в XAML, см. в разделе сортировки и группы данных с помощью представления в XAML.

См. также

  • CustomSort
  • Сортировка столбцов GridView при нажатии на заголовок
  • Общие сведения о привязке данных
  • Фильтрация данных в представлении
  • Практические руководства
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX