Gewusst wie: Sortieren von Daten in einer Ansicht

In diesem Beispiel wird beschrieben, wie Daten in einer Ansicht sortiert werden.

Beispiel

Das folgende Beispiel erstellt eine einfache ListBox und einen 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>

Der Click-Ereignishandler der Schaltfläche enthält Logik zum Sortieren der Elemente in der ListBox in absteigender Reihenfolge. Dies ist möglich, da Elemente beim Hinzufügen zu einer ListBox in dieser Weise zur ItemCollection der ListBox hinzugefügt werden, und ItemCollection von der CollectionView-Klasse abgeleitet ist. Wenn Sie Ihre ListBox mithilfe der ItemsSource-Eigenschaft an eine Sammlung binden, können Sie zum Sortieren die gleiche Technik verwenden.

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

Sofern Sie über einen Verweis auf das Ansichtsobjekt verfügen, können Sie dieselbe Technik verwenden, um den Inhalt anderer Sammlungsansichten zu sortieren. Ein Beispiel zum Abrufen einer Ansicht finden Sie unter Abrufen der Standardansicht einer Datensammlung. Ein weiteres Beispiel finden Sie unter Sortieren einer GridView-Spalte beim Klicken auf einen Header. Weitere Informationen zu Ansichten finden Sie in der Übersicht zur Datenbindung unter „Binden an Auflistungen“.

Ein Beispiel zum Anwenden von Sortierlogik in XAML (Extensible Application Markup Language) finden Sie unter Sortieren und Gruppieren von Daten mithilfe einer Ansicht in XAML.

Weitere Informationen