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