Condividi tramite


CollectionView Classe

Definizione

Rappresenta una visualizzazione per il raggruppamento, l'ordinamento, il filtro e l'esplorazione di una raccolta dati.

public ref class CollectionView : System::Windows::Threading::DispatcherObject, System::Collections::IEnumerable, System::ComponentModel::ICollectionView, System::ComponentModel::INotifyPropertyChanged
public ref class CollectionView : System::Windows::Threading::DispatcherObject, System::Collections::IEnumerable, System::Collections::Specialized::INotifyCollectionChanged, System::ComponentModel::ICollectionView, System::ComponentModel::INotifyPropertyChanged
public class CollectionView : System.Windows.Threading.DispatcherObject, System.Collections.IEnumerable, System.ComponentModel.ICollectionView, System.ComponentModel.INotifyPropertyChanged
public class CollectionView : System.Windows.Threading.DispatcherObject, System.Collections.IEnumerable, System.Collections.Specialized.INotifyCollectionChanged, System.ComponentModel.ICollectionView, System.ComponentModel.INotifyPropertyChanged
type CollectionView = class
    inherit DispatcherObject
    interface ICollectionView
    interface IEnumerable
    interface INotifyCollectionChanged
    interface INotifyPropertyChanged
type CollectionView = class
    inherit DispatcherObject
    interface IEnumerable
    interface INotifyCollectionChanged
    interface ICollectionView
    interface INotifyPropertyChanged
Public Class CollectionView
Inherits DispatcherObject
Implements ICollectionView, IEnumerable, INotifyPropertyChanged
Public Class CollectionView
Inherits DispatcherObject
Implements ICollectionView, IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged
Ereditarietà
CollectionView
Derivato
Implementazioni

Commenti

Non è consigliabile creare oggetti di questa classe nel codice. Per creare una visualizzazione raccolta per una raccolta che implementa IEnumerablesolo , creare un CollectionViewSource oggetto , aggiungere la Source raccolta alla proprietà e ottenere la visualizzazione raccolta dalla View proprietà .

È possibile considerare una visualizzazione raccolta come un livello sopra una raccolta di origini di associazione che consente di spostarsi e visualizzare la raccolta in base a query di ordinamento, filtro e gruppo, senza dover modificare la raccolta di origine sottostante stessa. Se la raccolta di origine implementa l'interfaccia INotifyCollectionChanged , le modifiche che generano l'evento CollectionChanged vengono propagate alle visualizzazioni.

Poiché una vista non modifica la raccolta di origine sottostante, a una raccolta di origine possono essere associate più visualizzazioni. Usando le visualizzazioni, è possibile visualizzare gli stessi dati in modi diversi. Ad esempio, è possibile utilizzare due visualizzazioni in un insieme di Task oggetti per visualizzare le attività ordinate in base alla priorità in una parte della pagina e raggruppate in base all'area in un'altra parte della pagina.

Nelle applicazioni WPF, tutte le raccolte hanno una visualizzazione raccolta predefinita associata. Anziché usare direttamente la raccolta, il motore di associazione accede sempre alla raccolta tramite la visualizzazione associata. Per ottenere la visualizzazione predefinita, usare il CollectionViewSource.GetDefaultView metodo . Una classe interna basata su CollectionView è la visualizzazione predefinita per le raccolte che implementano solo IEnumerable. ListCollectionView è la visualizzazione predefinita per le raccolte che implementano IList. BindingListCollectionView è la visualizzazione predefinita per le raccolte che implementano IBindingListView o IBindingList.

In alternativa, è possibile creare una visualizzazione della raccolta in XAML (Extensible Application Markup Language) usando la CollectionViewSource classe e quindi associare il controllo a tale visualizzazione. La CollectionViewSource classe è la rappresentazione XAML della CollectionView classe . Per un esempio, vedere Procedura: Ordinare e raggruppare i dati usando una visualizzazione in XAML.

Per ulteriori informazioni, consultare "Binding alle raccolte" in Panoramica del data binding.

Per impostare una visualizzazione in XAML, usa la CollectionViewSource classe . CollectionViewSource è la rappresentazione XAML della CollectionView classe ed espone i membri più usati della CollectionView classe.

Costruttori

Nome Descrizione
CollectionView(IEnumerable)

Inizializza una nuova istanza della CollectionView classe che rappresenta una visualizzazione della raccolta specificata.

Proprietà

Nome Descrizione
AllowsCrossThreadChanges

Ottiene un valore che indica se un thread diverso da quello che ha creato può CollectionView modificare l'oggetto SourceCollection.

CanFilter

Ottiene un valore che indica se la vista supporta il filtro.

CanGroup

Ottiene un valore che indica se la visualizzazione supporta il raggruppamento.

CanSort

Ottiene un valore che indica se la vista supporta l'ordinamento.

Comparer

Restituisce un oggetto che è possibile utilizzare per confrontare gli elementi nella visualizzazione.

Count

Ottiene il numero di record nella visualizzazione.

Culture

Ottiene o imposta le informazioni sulle impostazioni cultura da utilizzare durante l'ordinamento.

CurrentItem

Ottiene l'elemento corrente nella visualizzazione.

CurrentPosition

Ottiene la posizione ordinale dell'oggetto CurrentItem all'interno della visualizzazione (facoltativamente ordinata e filtrata).

Dispatcher

Ottiene l'oggetto DispatcherDispatcherObject a cui è associato.

(Ereditato da DispatcherObject)
Filter

Ottiene o imposta un metodo utilizzato per determinare se un elemento è adatto per l'inclusione nella visualizzazione.

GroupDescriptions

Ottiene una raccolta di GroupDescription oggetti che descrive il modo in cui gli elementi dell'insieme vengono raggruppati nella visualizzazione.

Groups

Ottiene un insieme dei gruppi di primo livello costruiti in base alla GroupDescriptions proprietà .

IsCurrentAfterLast

Ottiene un valore che indica se l'oggetto CurrentItem della vista supera la fine della raccolta.

IsCurrentBeforeFirst

Ottiene un valore che indica se l'oggetto CurrentItem della visualizzazione è prima dell'inizio della raccolta.

IsCurrentInSync

Ottiene un valore che indica se è CurrentItem in corrispondenza dell'oggetto CurrentPosition.

IsDynamic

Ottiene un valore che indica se la raccolta sottostante fornisce notifiche di modifica.

IsEmpty

Ottiene un valore che indica se la visualizzazione risultante (filtrata) è vuota.

IsInUse

Ottiene un valore che indica se un oggetto sta sottoscrivendo gli eventi di .CollectionView

IsRefreshDeferred

Ottiene un valore che indica se è in uso un oggetto in sospeso DeferRefresh() .

NeedsRefresh

Ottiene un valore che indica se la vista deve essere aggiornata.

NewItemPlaceholder

Ottiene l'oggetto presente nell'insieme per rappresentare un nuovo elemento.

SortDescriptions

Ottiene una raccolta di SortDescription strutture che descrive l'ordinamento degli elementi nella raccolta nella visualizzazione.

SourceCollection

Restituisce l'insieme non filtrato sottostante.

UpdatedOutsideDispatcher

Ottiene un valore che indica se è stato necessario aggiornare il log delle modifiche perché una CollectionChanged notifica è stata ricevuta in un thread diverso senza prima immettere il dispatcher thread dell'interfaccia utente.

Metodi

Nome Descrizione
CheckAccess()

Determina se il thread chiamante ha accesso a questo DispatcherObjectoggetto .

(Ereditato da DispatcherObject)
ClearChangeLog()
Obsoleti.

Cancella eventuali modifiche in sospeso dal log delle modifiche.

ClearPendingChanges()

Cancella le modifiche non elaborate apportate alla raccolta.

Contains(Object)

Restituisce un valore che indica se l'elemento specificato appartiene alla visualizzazione.

DeferRefresh()

Immette un ciclo di rinvio che è possibile usare per unire le modifiche alla visualizzazione e ritardare l'aggiornamento automatico.

DetachFromSourceCollection()

Rimuove il riferimento alla raccolta sottostante da CollectionView.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un oggetto che è possibile utilizzare per enumerare gli elementi nella visualizzazione.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetItemAt(Int32)

Recupera l'elemento in corrispondenza dell'indice in base zero specificato nella vista.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IndexOf(Object)

Restituisce l'indice in corrispondenza del quale si trova l'elemento specificato.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
MoveCurrentTo(Object)

Imposta l'elemento specificato come nella CurrentItem visualizzazione.

MoveCurrentToFirst()

Imposta il primo elemento nella visualizzazione come CurrentItem.

MoveCurrentToLast()

Imposta l'ultimo elemento nella visualizzazione come CurrentItem.

MoveCurrentToNext()

Imposta l'elemento dopo nella CurrentItem visualizzazione come CurrentItem.

MoveCurrentToPosition(Int32)

Imposta l'elemento in corrispondenza dell'indice specificato come nella CurrentItem visualizzazione.

MoveCurrentToPrevious()

Imposta l'elemento prima di CurrentItem nella visualizzazione come CurrentItem.

OKToChangeCurrent()

Restituisce un valore che indica se la visualizzazione può modificare quale elemento è .CurrentItem

OnAllowsCrossThreadChangesChanged()

Si verifica quando la AllowsCrossThreadChanges proprietà viene modificata.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Obsoleti.

Chiamato dalla classe base per notificare alla classe derivata che un CollectionChanged evento è stato pubblicato nella coda di messaggi.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Genera l'evento CollectionChanged.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Genera l'evento CollectionChanged.

OnCurrentChanged()

Genera l'evento CurrentChanged.

OnCurrentChanging()

Genera un CurrentChanging evento che non è annullabile.

OnCurrentChanging(CurrentChangingEventArgs)

Genera l'evento CurrentChanging con gli argomenti specificati.

OnPropertyChanged(PropertyChangedEventArgs)

Genera l'evento PropertyChanged utilizzando gli argomenti specificati.

PassesFilter(Object)

Restituisce un valore che indica se l'elemento specificato nell'insieme sottostante appartiene alla vista.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Quando sottoposto a override in una classe derivata, elabora una singola modifica nel thread dell'interfaccia utente.

ProcessPendingChanges()

Assicura che sia stato eseguito il commit di tutte le modifiche in sospeso alla raccolta.

Refresh()

Ricrea la visualizzazione.

RefreshOrDefer()

Aggiorna la visualizzazione o specifica che la visualizzazione deve essere aggiornata al termine del ciclo di rinvio.

RefreshOverride()

Ricrea la visualizzazione.

SetCurrent(Object, Int32, Int32)

Imposta l'elemento e l'indice specificati come valori delle CurrentItem proprietà e CurrentPosition . Questo metodo può essere chiamato da un costruttore di una classe derivata.

SetCurrent(Object, Int32)

Imposta l'elemento e l'indice specificati come valori delle CurrentItem proprietà e CurrentPosition .

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
VerifyAccess()

Impone che il thread chiamante abbia accesso a questo DispatcherObjectoggetto .

(Ereditato da DispatcherObject)

Eventi

Nome Descrizione
CollectionChanged

Si verifica quando la visualizzazione è stata modificata.

CurrentChanged

Si verifica dopo la modifica di CurrentItem .

CurrentChanging

Si verifica quando l'oggetto CurrentItem cambia.

PropertyChanged

Si verifica quando un valore della proprietà è stato modificato.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IEnumerable.GetEnumerator()

Restituisce un IEnumerator oggetto che è possibile utilizzare per enumerare gli elementi nella visualizzazione.

INotifyCollectionChanged.CollectionChanged

Si verifica quando la visualizzazione è stata modificata.

INotifyPropertyChanged.PropertyChanged

Si verifica quando un valore della proprietà viene modificato.

Metodi di estensione

Nome Descrizione
AsParallel(IEnumerable)

Abilita la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un IEnumerable in un IQueryable.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un IEnumerable al tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un IEnumerable in base a un tipo specificato.

Si applica a