Condividi tramite


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

CollectionViewSource

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.