Condividi tramite


Procedura: ottenere la visualizzazione predefinita di una raccolta dati

Le visualizzazioni consentono di visualizzare la stessa raccolta dati in modi diversi, a seconda dei criteri di ordinamento, filtro o raggruppamento. Ogni raccolta ha una vista predefinita condivisa, che viene utilizzata come origine di associazione effettiva quando un'associazione specifica una raccolta come origine. In questo esempio viene illustrato come ottenere la visualizzazione predefinita di una raccolta.

Esempio

Per creare la visualizzazione, è necessario un riferimento all'oggetto alla raccolta. Questo oggetto dati può essere ottenuto facendo riferimento all'oggetto code-behind, ottenendo il contesto dati, ottenendo una proprietà dell'origine dati o ottenendo una proprietà dell'associazione. In questo esempio viene illustrato come ottenere l'oggetto DataContext di un oggetto dati e usarlo per ottenere direttamente la visualizzazione raccolta predefinita per questa raccolta.

myCollectionView = (CollectionView)
    CollectionViewSource.GetDefaultView(rootElem.DataContext);
myCollectionView = CType(CollectionViewSource.GetDefaultView(rootElem.DataContext), CollectionView)

In questo esempio l'elemento radice è .StackPanel DataContext è impostato su myDataSource, che fa riferimento a un provider di dati che è un ObservableCollection<T> oggetto order.

<StackPanel.DataContext>
  <Binding Source="{StaticResource myDataSource}"/>
</StackPanel.DataContext>

In alternativa, è possibile creare un'istanza e associarla alla visualizzazione raccolta usando la CollectionViewSource classe . Questa visualizzazione raccolta è condivisa solo dai controlli che si associano direttamente a essa. Per un esempio, vedere la sezione How to Create a View (Come creare una vista) in Panoramica del data binding.

Per esempi delle funzionalità fornite da una visualizzazione raccolta, vedere Ordinare i dati in una visualizzazione, filtrare i dati in una visualizzazione e spostarsi tra gli oggetti in un oggetto Data CollectionView.

Vedi anche