Jak sortować dane w widoku

W tym przykładzie opisano sposób sortowania danych w widoku.

Przykład

Poniższy przykład tworzy prosty ListBox i :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>

Procedura Click obsługi zdarzeń przycisku zawiera logikę sortowania elementów w ListBox kolejności malejącej. Można to zrobić, ponieważ dodanie elementów do ListBox tej metody powoduje dodanie ich do ItemCollectionListBoxklasy i ItemCollection pochodzi z CollectionView klasy . Jeśli tworzysz powiązanie ListBox z kolekcją przy użyciu ItemsSource właściwości , możesz użyć tej samej techniki do sortowania.

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

Jeśli masz odwołanie do obiektu widoku, możesz użyć tej samej techniki, aby posortować zawartość innych widoków kolekcji. Aby zapoznać się z przykładem uzyskiwania widoku, zobacz Pobieranie domyślnego widoku zbierania danych. Aby zapoznać się z innym przykładem, zobacz Sortowanie kolumny GridView Po kliknięciu nagłówka. Aby uzyskać więcej informacji na temat widoków, zobacz Binding to Collections in Data Binding Overview (Wiązanie z kolekcjami w temacie Omówienie powiązania danych).

Aby zapoznać się z przykładem stosowania logiki sortowania w języku XAML (Extensible Application Markup Language), zobacz Sortowanie i grupowanie danych przy użyciu widoku w języku XAML.

Zobacz też