Procédure : Trier et grouper des données à l’aide d’une vue en XAMLHow to: Sort and Group Data Using a View in XAML

Cet exemple montre comment créer une vue d’une collection de données dans langage XAML (eXtensible Application Markup Language)Extensible Application Markup Language (XAML).This example shows how to create a view of a data collection in langage XAML (eXtensible Application Markup Language)Extensible Application Markup Language (XAML). Les vues permettent pour les fonctionnalités de regroupement, le tri, filtrage et la notion d’un élément en cours.Views allow for the functionalities of grouping, sorting, filtering, and the notion of a current item.

ExempleExample

Dans l’exemple suivant, la ressource statique nommée place est défini comme une collection de Place objets, dans lequel chaque Place objet se compose d’un nom de ville et le état.In the following example, the static resource named places is defined as a collection of Place objects, in which each Place object is consisted of a city name and the state. Le préfixe src est mappé à l’espace de noms dans lequel la source de données emplacements est défini.The prefix src is mapped to the namespace where the data source Places is defined. Le préfixe scm est mappé à "clr-namespace:System.ComponentModel;assembly=WindowsBase" et dat mappe à "clr-namespace:System.Windows.Data;assembly=PresentationFramework".The prefix scm maps to "clr-namespace:System.ComponentModel;assembly=WindowsBase" and dat maps to "clr-namespace:System.Windows.Data;assembly=PresentationFramework".

L’exemple suivant crée une vue de la collecte de données qui est triée par nom de ville et regroupée par l’état.The following example creates a view of the data collection that is sorted by the city name and grouped by the state.

<Window.Resources>

  <src:Places x:Key="places"/>

  <CollectionViewSource Source="{StaticResource places}" x:Key="cvs">
    <CollectionViewSource.SortDescriptions>
      <scm:SortDescription PropertyName="CityName"/>
    </CollectionViewSource.SortDescriptions>
    <CollectionViewSource.GroupDescriptions>
      <dat:PropertyGroupDescription PropertyName="State"/>
    </CollectionViewSource.GroupDescriptions>
  </CollectionViewSource>

La vue peut ensuite être une source de liaison, comme dans l’exemple suivant :The view can then be a binding source, as in the following example:

<ListBox ItemsSource="{Binding Source={StaticResource cvs}}"
         DisplayMemberPath="CityName" Name="lb">
  <ListBox.GroupStyle>
    <x:Static Member="GroupStyle.Default"/>
  </ListBox.GroupStyle>
</ListBox>

Pour les liaisons à des données XML définies dans un XmlDataProvider ressource, faites précéder le nom XML avec un symbole @.For bindings to XML data defined in an XmlDataProvider resource, precede the XML name with an @ symbol.

<XmlDataProvider x:Key="myTasks" XPath="Tasks/Task">
    <x:XData>
        <Tasks xmlns="">
            <Task Name="Groceries" Priority="2" Type="Home">
<CollectionViewSource x:Key="mySortedTasks"
                      Source="{StaticResource myTasks}">
    <CollectionViewSource.SortDescriptions>
        <scm:SortDescription PropertyName="@Priority" />
    </CollectionViewSource.SortDescriptions>
    <CollectionViewSource.GroupDescriptions>
        <dat:PropertyGroupDescription PropertyName="@Priority" />
    </CollectionViewSource.GroupDescriptions>
</CollectionViewSource>

Voir aussiSee also