Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais

Comment : trier des données dans une vue

 

Publication: juin 2016

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

Exemple

L'exemple suivant crée un ListBox simple 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 gestionnaire d'événements Click du bouton contient la logique de tri des éléments dans le ListBox dans l'ordre décroissant. Vous pouvez effectuer cette opération parce qu'ajouter ainsi des éléments au ListBox les ajoute à l'objet ItemCollection du ListBox, et que ItemCollection dérive de la classe CollectionView. Si vous liez votre ListBox à une collection en utilisant la propriété ItemsSource, vous pouvez utiliser la même technique pour effectuer le tri.

private void OnClick(object sender, RoutedEventArgs e)
{
    myListBox.Items.SortDescriptions.Add(
        new SortDescription("Content", ListSortDirection.Descending));
}

Tant que vous avez une référence à l'objet de vue, vous pouvez utiliser la même technique pour trier le contenu d'autres vues de collection. Pour obtenir un exemple sur la manière d'obtenir une vue, consultez Comment : obtenir la vue par défaut d'une collection de données. Pour obtenir un autre exemple, consultez Comment : trier une colonne GridView lors d'un clic sur un en-tête. Pour plus d'informations sur les vues, consultez la section relative aux liaisons de collections dans Vue d'ensemble de la liaison de données.

Pour obtenir un exemple sur la manière d'appliquer une logique de tri en langage XAML (eXtensible Application Markup Language), consultez Comment : trier et grouper des données à l'aide d'une vue en XAML.

Afficher: