Freigeben über


Gewusst wie: Sortieren und Gruppieren von Daten mit einer Ansicht in XAML

In diesem Beispiel wird gezeigt, wie eine Ansicht einer Datenauflistung in Extensible Application Markup Language (XAML) erstellt wird. Ansichten unterstützen das Gruppieren, Sortieren, Filtern und das Konzept eines aktuellen Elements.

Beispiel

Im folgenden Beispiel wird die statische Ressource places als Auflistung von Place-Objekten definiert, in der jedes Place-Objekt aus dem Namen einer Stadt und dem Bundesstaat besteht. Dem Namespace, in dem die Datenquelle Places definiert ist, wird das Präfix src zugeordnet. Das Präfix scm ist "clr-namespace:System.ComponentModel;assembly=WindowsBase" zugeordnet, und dat ist "clr-namespace:System.Windows.Data;assembly=PresentationFramework" zugeordnet.

Im folgenden Beispiel wird veranschaulicht, wie eine Ansicht der Datenauflistung erstellt wird, die nach dem Namen der Stadt sortiert und nach dem Bundesstaat gruppiert wird.

  <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>

Die Ansicht kann dann wie im folgenden Beispiel eine Bindungsquelle sein:

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

Für Bindungen an XML-Daten, die in einer XmlDataProvider-Ressource definiert wurden, stellen Sie dem XML-Namen ein @-Symbol voran.

<XmlDataProvider x:Key="myTasks" XPath="Tasks/Task">
    <x:XData>
        <Tasks >
            <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>

Siehe auch

Aufgaben

Gewusst wie: Abrufen der Standardansicht einer Datenauflistung

Referenz

CollectionViewSource

Konzepte

Übersicht über Datenbindung

Weitere Ressourcen

Gewusst-wie-Themen zur Datenbindung

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

Juli 2010

Zeichenfolgenliterale für die Präfixe dat und scm wurden hinzugefügt.

Kundenfeedback.