Dela via


Anvisningar: Sortera data i en vy

I det här exemplet beskrivs hur du sorterar data i en vy.

Exempel

I följande exempel skapas en enkel ListBox och en 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>

Knappens Click händelsehanterare innehåller logik för att sortera objekten i ListBox i fallande ordning. Du kan göra detta eftersom du lägger till objekt i en ListBox på det här sättet lägger till dem i ItemCollection i ListBoxoch ItemCollection härleds från klassen CollectionView. Om du binder din ListBox till en samling med egenskapen ItemsSource kan du använda samma teknik för att sortera.

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

Så länge du har en referens till visningsobjektet kan du använda samma teknik för att sortera innehållet i andra samlingsvyer. Ett exempel på hur du hämtar en vy finns i Hämta standardvyn för en datainsamling. Ett annat exempel finns i Sortera en GridView-kolumn när ett sidhuvud klickas. För mer information om vyer, se Koppling till samlingar i Översikt över databindning.

Ett exempel på hur du använder sorteringslogik i XAML (Extensible Application Markup Language) finns i Sortera och gruppera data med hjälp av en vy i XAML-.

Se även