Procedura: ordinare e raggruppare i dati tramite una visualizzazione di XAML
In questo esempio viene illustrato come creare una visualizzazione di una raccolta dati in Extensible Application Markup Language (XAML). Le visualizzazioni tengono conto delle funzionalità di raggruppamento, ordinamento, filtro e del concetto di elemento corrente.
Esempio
Nell'esempio riportato di seguito, la risorsa statica denominata places viene definita come un insieme di oggetti Place nel quale ogni oggetto Place è dato da un nome di città e di stato. Il prefisso src viene mappato allo spazio dei nomi in cui è definita l'origine dati Places. Il prefisso scm è mappato a "clr-namespace:System.ComponentModel;assembly=WindowsBase" e dat è mappato a "clr-namespace:System.Windows.Data;assembly=PresentationFramework".
Nell'esempio riportato di seguito viene creata una visualizzazione della raccolta dati ordinata in base al nome della città e raggruppata in base allo stato.
<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 visualizzazione può essere un'origine di associazione, come nell'esempio riportato di seguito:
<ListBox ItemsSource="{Binding Source={StaticResource cvs}}"
DisplayMemberPath="CityName" Name="lb">
<ListBox.GroupStyle>
<x:Static Member="GroupStyle.Default"/>
</ListBox.GroupStyle>
</ListBox>
Per le associazioni ai dati XML definite in una risorsa XmlDataProvider, anteporre il simbolo @ al nome XML.
<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>
Vedere anche
Attività
Procedura: ottenere la visualizzazione predefinita di una raccolta dati
Riferimenti
Concetti
Cenni preliminari sull'associazione dati
Altre risorse
Procedure relative all'associazione dati
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Luglio 2010 |
Aggiunte stringhe letterali per i prefissi scm e dat. |
Commenti e suggerimenti dei clienti. |