CollectionView Classe

Definizione

Rappresenta una visualizzazione per il raggruppamento, l'ordinamento, il filtro e lo spostamento in una raccolta di dati.Represents a view for grouping, sorting, filtering, and navigating a data collection.

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.Collections.Specialized.INotifyCollectionChanged, System.ComponentModel.ICollectionView, System.ComponentModel.INotifyPropertyChanged
type CollectionView = class
    inherit DispatcherObject
    interface ICollectionView
    interface IEnumerable
    interface INotifyCollectionChanged
    interface 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.You should not create objects of this class in your code. Per creare una visualizzazione di raccolta per una raccolta che implementa IEnumerablesolo, creare CollectionViewSource un oggetto, Source aggiungere la raccolta alla proprietà e ottenere la visualizzazione della raccolta dalla View proprietà.To create a collection view for a collection that only implements IEnumerable, create a CollectionViewSource object, add your collection to the Source property, and get the collection view from the View property.

Una visualizzazione di raccolta può essere considerata come un livello sopra una raccolta di origine del binding che consente di esplorare e visualizzare la raccolta in base alle query di ordinamento, filtro e gruppo, senza dover modificare la raccolta di origine sottostante.You can think of a collection view as a layer on top of a binding source collection that allows you to navigate and display the collection based on sort, filter, and group queries, all without having to manipulate the underlying source collection itself. Se la raccolta di origine implementa INotifyCollectionChanged l'interfaccia, le modifiche che generano l' CollectionChanged evento vengono propagate alle viste.If the source collection implements the INotifyCollectionChanged interface, the changes that raise the CollectionChanged event are propagated to the views.

Poiché una vista non modifica la raccolta di origine sottostante, a una raccolta di origine possono essere associate più visualizzazioni.Because a view does not change the underlying source collection, a source collection can have multiple views associated with it. Utilizzando le visualizzazioni, è possibile visualizzare gli stessi dati in modi diversi.By using views, you can display the same data in different ways. È 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 per area in un'altra parte della pagina.For example, you can use two views on a collection of Task objects to show tasks sorted by priority on one part of the page and grouped by area on another part of the page.

Nelle WPFWPF applicazioni, a tutte le raccolte è associata una visualizzazione di raccolta predefinita.In WPFWPF applications, all collections have an associated default collection view. Invece di utilizzare direttamente la raccolta, il motore di associazione accede sempre alla raccolta tramite la visualizzazione associata.Rather than working with the collection directly, the binding engine always accesses the collection through the associated view. Per ottenere la visualizzazione predefinita, usare il CollectionViewSource.GetDefaultView metodo.To get the default view, use the CollectionViewSource.GetDefaultView method. Una classe interna basata su CollectionView è la visualizzazione predefinita per le raccolte che implementano solo. IEnumerableAn internal class based on CollectionView is the default view for collections that implement only IEnumerable. ListCollectionViewvisualizzazione predefinita per le raccolte che implementano IList.ListCollectionView is the default view for collections that implement IList. BindingListCollectionViewè la visualizzazione predefinita per le raccolte che IBindingListView implementano o IBindingList.BindingListCollectionView is the default view for collections that implement IBindingListView or IBindingList.

In alternativa, è possibile creare una vista della raccolta in Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) usando la CollectionViewSource classe e quindi associare il controllo a tale visualizzazione.Alternatively, you can create a view of your collection in Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) by using the CollectionViewSource class and then bind your control to that view. La CollectionViewSource classe è la XAMLXAML rappresentazione della CollectionView classe.The CollectionViewSource class is the XAMLXAML representation of the CollectionView class. Per un esempio, vedere Procedura: Ordinare e raggruppare i dati tramite una visualizzazionein XAML.For an example, see How to: Sort and Group Data Using a View in XAML.

Per ulteriori informazioni, vedere "associazione alle raccolte" in Cenni preliminari sul data binding.For more information, see "Binding to Collections" in Data Binding Overview.

Per impostare una vista in XAMLXAML, utilizzare la CollectionViewSource classe.To set a view in XAMLXAML, use the CollectionViewSource class. CollectionViewSourceè la XAMLXAML rappresentazione CollectionView della classe ed espone i membri utilizzati più di CollectionView frequente della classe.CollectionViewSource is the XAMLXAML representation of the CollectionView class, and it exposes the most commonly used members of the CollectionView class.

Costruttori

CollectionView(IEnumerable)

Inizializza un'istanza nuova della classe CollectionView che rappresenta una visualizzazione dell'insieme specificato.Initializes a new instance of the CollectionView class that represents a view of the specified collection.

Proprietà

AllowsCrossThreadChanges

Ottiene un valore che indica se un thread diverso da quello che ha creato CollectionView può modificare SourceCollection.Gets a value that indicates whether a thread other than the one that created the CollectionView can change the SourceCollection.

CanFilter

Ottiene un valore che indica se la visualizzazione supporta il filtraggio.Gets a value that indicates whether the view supports filtering.

CanGroup

Ottiene un valore che indica se la visualizzazione supporta il raggruppamento.Gets a value that indicates whether the view supports grouping.

CanSort

Ottiene un valore che indica se la visualizzazione supporta l'ordinamento.Gets a value that indicates whether the view supports sorting.

Comparer

Restituisce un oggetto che è possibile utilizzare per confrontare gli elementi nella visualizzazione.Returns an object that you can use to compare items in the view.

Count

Ottiene il numero di record presenti nella visualizzazione.Gets the number of records in the view.

Culture

Ottiene o imposta le informazioni sulle impostazioni cultura da utilizzare durante l'ordinamento.Gets or sets the culture information to use during sorting.

CurrentItem

Ottiene l'elemento corrente della visualizzazione.Gets the current item in the view.

CurrentPosition

Ottiene la posizione ordinale dell'oggetto CurrentItem all'interno della visualizzazione (facoltativamente ordinata e filtrata).Gets the ordinal position of the CurrentItem within the (optionally sorted and filtered) view.

Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Ereditato da DispatcherObject)
Filter

Ottiene o imposta un metodo usato per stabilire se un elemento è appropriato per l'inclusione nella visualizzazione.Gets or sets a method used to determine if an item is suitable for inclusion in the view.

GroupDescriptions

Ottiene un insieme di oggetti GroupDescription che descrive come sono raggruppati nella visualizzazione gli elementi dell'insieme.Gets a collection of GroupDescription objects that describes how the items in the collection are grouped in the view.

Groups

Ottiene un insieme dei gruppi di livello superiore costruiti in base alla proprietà GroupDescriptions.Gets a collection of the top-level groups that is constructed based on the GroupDescriptions property.

IsCurrentAfterLast

Ottiene un valore che indica se l'oggetto CurrentItem della visualizzazione è oltre la fine della raccolta.Gets a value that indicates whether the CurrentItem of the view is beyond the end of the collection.

IsCurrentBeforeFirst

Ottiene un valore che indica se l'oggetto CurrentItem della visualizzazione è prima dell'inizio della raccolta.Gets a value that indicates whether the CurrentItem of the view is before the beginning of the collection.

IsCurrentInSync

Ottiene un valore che indica se l'oggetto CurrentItem è nella posizione CurrentPosition.Gets a value that indicates whether the CurrentItem is at the CurrentPosition.

IsDynamic

Ottiene un valore che indica se l'insieme sottostante fornisce notifiche di modifica.Gets a value that indicates whether the underlying collection provides change notifications.

IsEmpty

Ottiene un valore che indica se la visualizzazione risultante (filtrata) è vuota.Gets a value that indicates whether the resulting (filtered) view is empty.

IsInUse

Ottiene un valore che indica se eventuali oggetti stanno effettuando la sottoscrizione all'oggetto CollectionView.Gets a value that indicates whether any object is subscribing to the events of this CollectionView.

IsRefreshDeferred

Ottiene un valore che indica se è in uso l'oggetto DeferRefresh() in sospeso.Gets a value that indicates whether there is an outstanding DeferRefresh() in use.

NeedsRefresh

Ottiene un valore che indica se la visualizzazione deve essere aggiornata.Gets a value that indicates whether the view needs to be refreshed.

NewItemPlaceholder

Ottiene l'oggetto che si trova nell'insieme per rappresentare un nuovo elemento.Gets the object that is in the collection to represent a new item.

SortDescriptions

Ottiene un insieme di oggetti SortDescription che descrivono come sono ordinati nella visualizzazione gli elementi dell'insieme.Gets a collection of SortDescription structures that describes how the items in the collection are sorted in the view.

SourceCollection

Restituisce l'insieme non filtrato sottostante.Returns the underlying unfiltered collection.

UpdatedOutsideDispatcher

Ottiene un valore che indica se è stato necessario aggiornare il registro delle modifiche perché una notifica CollectionChanged è stata ricevuta su un thread diverso senza prima inserire il dispatcher di thread della interfaccia utenteuser interface (UI).Gets a value that indicates whether it has been necessary to update the change log because a CollectionChanged notification has been received on a different thread without first entering the interfaccia utenteuser interface (UI) thread dispatcher.

Metodi

CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Ereditato da DispatcherObject)
ClearChangeLog()

Cancella qualsiasi modifica in sospeso dal registro delle modifiche.Clears any pending changes from the change log.

ClearPendingChanges()

Cancella le modifiche non elaborate alla raccolta.Clears unprocessed changed to the collection.

Contains(Object)

Restituisce un valore che indica se l'elemento specificato appartiene alla visualizzazione.Returns a value that indicates whether the specified item belongs to the view.

DeferRefresh()

Immette un ciclo di rinvio che è possibile utilizzare per unire le modifiche alla visualizzazione e ritardare l'aggiornamento automatico.Enters a defer cycle that you can use to merge changes to the view and delay automatic refresh.

DetachFromSourceCollection()

Rimuove il riferimento alla raccolta sottostante da CollectionView.Removes the reference to the underlying collection from the CollectionView.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetEnumerator()

Restituisce un oggetto che è possibile utilizzare per enumerare gli elementi nella visualizzazione.Returns an object that you can use to enumerate the items in the view.

GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetItemAt(Int32)

Recupera l'elemento in corrispondenza dell'indice in base zero specificato nella visualizzazione.Retrieves the item at the specified zero-based index in the view.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
IndexOf(Object)

Restituisce l'indice nel quale si trova l'elemento specificato.Returns the index at which the specified item is located.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
MoveCurrentTo(Object)

Imposta l'elemento specificato in modo che diventi l'oggetto CurrentItem nella visualizzazione.Sets the specified item to be the CurrentItem in the view.

MoveCurrentToFirst()

Imposta il primo elemento nella visualizzazione come CurrentItem.Sets the first item in the view as the CurrentItem.

MoveCurrentToLast()

Imposta l'ultimo elemento nella visualizzazione come CurrentItem.Sets the last item in the view as the CurrentItem.

MoveCurrentToNext()

Imposta l’elemento successivo a CurrentItem nella visualizzazione come CurrentItem.Sets the item after the CurrentItem in the view as the CurrentItem.

MoveCurrentToPosition(Int32)

Imposta l'elemento in corrispondenza dell'indice specificato come primo oggetto CurrentItem nella visualizzazione.Sets the item at the specified index to be the CurrentItem in the view.

MoveCurrentToPrevious()

Imposta l’elemento precedente a CurrentItem nella visualizzazione come CurrentItem.Sets the item before the CurrentItem in the view as the CurrentItem.

OKToChangeCurrent()

Restituisce un valore che indica se la visualizzazione può modificare l'elemento CurrentItem.Returns a value that indicates whether the view can change which item is the CurrentItem.

OnAllowsCrossThreadChangesChanged()

Si verifica quando la proprietà AllowsCrossThreadChanges cambia.Occurs when the AllowsCrossThreadChanges property changes.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)

Chiamato dalla classe di base per notificare alla classe derivata che un evento CollectionChanged è stato inserito nella coda di messaggi.Called by the base class to notify the derived class that an CollectionChanged event has been posted to the message queue.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Genera l'evento CollectionChanged.Raises the CollectionChanged event.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Genera l'evento CollectionChanged.Raises the CollectionChanged event.

OnCurrentChanged()

Genera l'evento CurrentChanged.Raises the CurrentChanged event.

OnCurrentChanging()

Genera un evento CurrentChanging che non è annullabile.Raises a CurrentChanging event that is not cancelable.

OnCurrentChanging(CurrentChangingEventArgs)

Genera l'evento CurrentChanging con gli argomenti specificati.Raises the CurrentChanging event with the specified arguments.

OnPropertyChanged(PropertyChangedEventArgs)

Genera l'evento PropertyChanged mediante gli argomenti specificati.Raises the PropertyChanged event using the specified arguments.

PassesFilter(Object)

Restituisce un valore che indica se l'elemento specificato nell'insieme sottostante appartiene alla visualizzazione.Returns a value that indicates whether the specified item in the underlying collection belongs to the view.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Quando è sottoposto a override in una classe derivata, elabora una sola modifica sul thread Interfaccia utenteUI.When overridden in a derived class, processes a single change on the Interfaccia utenteUI thread.

ProcessPendingChanges()

Verificare che tutte le modifiche in sospeso alla raccolta siano state salvate.Ensures that all pending changes to the collection have been committed.

Refresh()

Ricrea la visualizzazione.Re-creates the view.

RefreshOrDefer()

Aggiorna la visualizzazione o specifica che la visualizzazione deve essere aggiornata al termine del ciclo di rinvio.Refreshes the view or specifies that the view needs to be refreshed when the defer cycle completes.

RefreshOverride()

Ricrea la visualizzazione.Re-creates the view.

SetCurrent(Object, Int32)

Imposta l'elemento specificato e l'indice come valori delle proprietà CurrentItem e CurrentPosition.Sets the specified item and index as the values of the CurrentItem and CurrentPosition properties.

SetCurrent(Object, Int32, Int32)

Imposta l'elemento specificato e l'indice come valori delle proprietà CurrentItem e CurrentPosition.Sets the specified item and index as the values of the CurrentItem and CurrentPosition properties. Questo metodo può essere richiamato da un costruttore di una classe derivata.This method can be called from a constructor of a derived class.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)
VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Ereditato da DispatcherObject)

Eventi

CollectionChanged

Si verifica quando la visualizzazione è stata modificata.Occurs when the view has changed.

CurrentChanged

Si verifica dopo la modifica di CurrentItem.Occurs after the CurrentItem has changed.

CurrentChanging

Viene generato durante la modifica di un oggetto CurrentItem.Occurs when the CurrentItem is changing.

PropertyChanged

Si verifica quando il valore della proprietà è stato modificato.Occurs when a property value has changed.

Implementazioni dell'interfaccia esplicita

IEnumerable.GetEnumerator()

Restituisce un oggetto IEnumerator che è possibile utilizzare per enumerare gli elementi nella visualizzazione.Returns an IEnumerator object that you can use to enumerate the items in the view.

INotifyCollectionChanged.CollectionChanged

Si verifica quando la visualizzazione è stata modificata.Occurs when the view has changed.

INotifyPropertyChanged.PropertyChanged

Generato quando il valore di una proprietà cambia.Occurs when a property value changes.

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.Converts an IEnumerable to an IQueryable.

Si applica a