Comment : trier des données dans une vue

Cet exemple décrit comment trier des données dans une vue.

Exemple

L’exemple suivant crée un élément simple ListBox et un 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>

Le Click gestionnaire d’événements du bouton contient la logique pour trier les éléments dans l’ordre ListBox décroissant. Vous pouvez le faire, car l’ajout d’éléments à une ListBox telle façon les ajoute à l’élément ItemCollectionListBox, et ItemCollection dérive de la CollectionView classe. Si vous liez votre ListBox à une collection à l’aide de la ItemsSource propriété, vous pouvez utiliser la même technique pour trier.

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

Tant que vous disposez d’une référence à l’objet d’affichage, vous pouvez utiliser la même technique pour trier le contenu d’autres vues de collection. Pour obtenir un exemple d’obtention d’une vue, consultez Obtenir la vue par défaut d’une collection de données. Pour obtenir un autre exemple, consultez Trier une colonne GridView lorsqu’un en-tête est cliqué. Pour plus d’informations sur les vues, consultez Liaison à des regroupements dans La vue d’ensemble de la liaison de données.

Pour obtenir un exemple d’application d’une logique de tri dans XAML (Extensible Application Markup Language), consultez Trier et regrouper des données à l’aide d’une vue en XAML.

Voir aussi