Condividi tramite


CollectionView Classe

Definizione

Rappresenta una visualizzazione per il raggruppamento, l'ordinamento, il filtro e lo spostamento in una raccolta di 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 origine di associazione che consente di esplorare 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 viste.

Poiché una vista non modifica la raccolta di origine sottostante, a una raccolta di origine possono essere associate più visualizzazioni. Usando le viste, è possibile visualizzare gli stessi dati in modi diversi. Ad esempio, è possibile utilizzare due visualizzazioni in una raccolta 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 altre informazioni, vedere "Binding a raccolte" in Panoramica del data binding.

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

Costruttori

CollectionView(IEnumerable)

Inizializza un'istanza nuova della classe CollectionView che rappresenta una visualizzazione dell'insieme specificato.

Proprietà

AllowsCrossThreadChanges

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

CanFilter

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

CanGroup

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

CanSort

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

Comparer

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

Count

Ottiene il numero di record presenti nella visualizzazione.

Culture

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

CurrentItem

Ottiene l'elemento corrente della visualizzazione.

CurrentPosition

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

Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.

(Ereditato da DispatcherObject)
Filter

Ottiene o imposta un metodo usato per stabilire se un elemento è appropriato per l'inclusione nella visualizzazione.

GroupDescriptions

Ottiene un insieme di oggetti GroupDescription che descrive come sono raggruppati nella visualizzazione gli elementi dell'insieme.

Groups

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

IsCurrentAfterLast

Ottiene un valore che indica se l'oggetto CurrentItem della visualizzazione è oltre 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 l'oggetto CurrentItem è nella posizione CurrentPosition.

IsDynamic

Ottiene un valore che indica se l'insieme sottostante fornisce notifiche di modifica.

IsEmpty

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

IsInUse

Ottiene un valore che indica se eventuali oggetti stanno effettuando la sottoscrizione all'oggetto CollectionView.

IsRefreshDeferred

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

NeedsRefresh

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

NewItemPlaceholder

Ottiene l'oggetto che si trova nell'insieme per rappresentare un nuovo elemento.

SortDescriptions

Ottiene un insieme di oggetti SortDescription che descrivono come sono ordinati nella visualizzazione gli elementi dell'insieme.

SourceCollection

Restituisce l'insieme non filtrato sottostante.

UpdatedOutsideDispatcher

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

Metodi

CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.

(Ereditato da DispatcherObject)
ClearChangeLog()
Obsoleti.

Cancella qualsiasi modifica in sospeso dal registro delle modifiche.

ClearPendingChanges()

Cancella le modifiche non elaborate alla raccolta.

Contains(Object)

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

DeferRefresh()

Immette un ciclo di rinvio che è possibile utilizzare 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 visualizzazione.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IndexOf(Object)

Restituisce l'indice nel quale si trova l'elemento specificato.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
MoveCurrentTo(Object)

Imposta l'elemento specificato in modo che diventi l'oggetto CurrentItem nella visualizzazione.

MoveCurrentToFirst()

Imposta il primo elemento nella visualizzazione come CurrentItem.

MoveCurrentToLast()

Imposta l’ultimo elemento nella visualizzazione come CurrentItem.

MoveCurrentToNext()

Imposta l'elemento successivo a CurrentItem nella visualizzazione come CurrentItem.

MoveCurrentToPosition(Int32)

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

MoveCurrentToPrevious()

Imposta l’elemento precedente a CurrentItem nella visualizzazione come CurrentItem.

OKToChangeCurrent()

Restituisce un valore che indica se la visualizzazione può modificare l'elemento CurrentItem.

OnAllowsCrossThreadChangesChanged()

Si verifica quando la proprietà AllowsCrossThreadChanges cambia.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Obsoleti.

Chiamato dalla classe di base per notificare alla classe derivata che un evento CollectionChanged è stato inserito 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 evento CurrentChanging che non è annullabile.

OnCurrentChanging(CurrentChangingEventArgs)

Genera l'evento CurrentChanging con gli argomenti specificati.

OnPropertyChanged(PropertyChangedEventArgs)

Genera l'evento PropertyChanged mediante gli argomenti specificati.

PassesFilter(Object)

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

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

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

ProcessPendingChanges()

Verificare che tutte le modifiche in sospeso alla raccolta siano state salvate.

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)

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

SetCurrent(Object, Int32, Int32)

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

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.

(Ereditato da DispatcherObject)

Eventi

CollectionChanged

Si verifica quando la vista viene modificata.

CurrentChanged

Si verifica dopo la modifica di CurrentItem.

CurrentChanging

Viene generato durante la modifica di un oggetto CurrentItem.

PropertyChanged

Si verifica quando il valore di una proprietà è stato modificato.

Implementazioni dell'interfaccia esplicita

IEnumerable.GetEnumerator()

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

INotifyCollectionChanged.CollectionChanged

Si verifica quando la vista viene modificata.

INotifyPropertyChanged.PropertyChanged

Generato quando il valore di una proprietà cambia.

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a