CollectionView Klasse

Definition

Stellt eine Ansicht für das Gruppieren, Sortieren, Filtern und Navigieren in einer Datensammlung dar.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
Vererbung
CollectionView
Abgeleitet
Implementiert

Hinweise

Sie sollten keine Objekte dieser Klasse im Code erstellen.You should not create objects of this class in your code. Um eine Auflistungs Ansicht für eine Auflistung zu erstellen IEnumerable, die nur CollectionViewSource implementiert, erstellen Sie ein-Objekt Source , fügen Sie die Auflistung der-Eigenschaft hinzu View , und rufen Sie die Auflistungs Ansicht aus der-EigenschaftTo 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.

Sie können sich eine Auflistungs Ansicht als eine Ebene oberhalb einer Bindungs Quell Auflistung vorstellen, die es Ihnen ermöglicht, die Auflistung auf der Grundlage von Sortier-, Filter-und Gruppen Abfragen zu navigieren und anzuzeigen, ohne die zugrunde liegende Quell Auflistung selbst bearbeiten zu müssen.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. Wenn die Quell Auflistung die INotifyCollectionChanged -Schnittstelle implementiert, werden die Änderungen, die das CollectionChanged -Ereignis auswerfen, an die Ansichten weitergegeben.If the source collection implements the INotifyCollectionChanged interface, the changes that raise the CollectionChanged event are propagated to the views.

Da eine Sicht nicht die zugrunde liegende Quell Auflistung ändert, können einer Quell Auflistung mehrere Sichten zugeordnet werden.Because a view does not change the underlying source collection, a source collection can have multiple views associated with it. Mithilfe von Ansichten können Sie dieselben Daten auf verschiedene Weise anzeigen.By using views, you can display the same data in different ways. Beispielsweise können Sie zwei Ansichten für eine Auflistung von Task -Objekten verwenden, um Aufgaben, die nach Priorität sortiert sind, auf einem Teil der Seite anzuzeigen und nach Bereich auf einem anderen Teil der Seite gruppiert zu werden.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.

In WPFWPF -Anwendungen haben alle Sammlungen eine zugeordnete Standard Auflistungs Ansicht.In WPFWPF applications, all collections have an associated default collection view. Anstatt direkt mit der Auflistung zu arbeiten, greift die Bindungs-Engine über die zugeordnete Ansicht immer auf die Auflistung zu.Rather than working with the collection directly, the binding engine always accesses the collection through the associated view. Um die Standardansicht zu erhalten, verwenden CollectionViewSource.GetDefaultView Sie die-Methode.To get the default view, use the CollectionViewSource.GetDefaultView method. Eine interne Klasse, die CollectionView auf basiert, ist die Standardansicht für Auflistungen, die nur IEnumerableimplementiert.An internal class based on CollectionView is the default view for collections that implement only IEnumerable. ListCollectionViewist die Standardansicht für Auflistungen IList, die implementieren.ListCollectionView is the default view for collections that implement IList. BindingListCollectionViewist die Standardansicht für Auflistungen IBindingListView , IBindingListdie oder implementieren.BindingListCollectionView is the default view for collections that implement IBindingListView or IBindingList.

Sie können auch eine Ansicht Ihrer Sammlung in Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) erstellen, indem Sie die CollectionViewSource -Klasse verwenden und dann das Steuerelement an diese Ansicht binden.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. Die CollectionViewSource -Klasse ist XAMLXAML die Darstellung CollectionView der-Klasse.The CollectionViewSource class is the XAMLXAML representation of the CollectionView class. Ein Beispiel finden Sie unter Gewusst wie: Sortieren und Gruppieren von Daten mit einer Ansicht in XAML.For an example, see How to: Sort and Group Data Using a View in XAML.

Weitere Informationen finden Sie unter "binden an Auflistungen" in Übersicht über die Datenbindung.For more information, see "Binding to Collections" in Data Binding Overview.

Um eine Sicht in XAMLXAMLfestzulegen, verwenden Sie die CollectionViewSource -Klasse.To set a view in XAMLXAML, use the CollectionViewSource class. CollectionViewSourceist die XAMLXAML Darstellung CollectionView der-Klasse, die die am CollectionView häufigsten verwendeten Member der-Klasse verfügbar macht.CollectionViewSource is the XAMLXAML representation of the CollectionView class, and it exposes the most commonly used members of the CollectionView class.

Konstruktoren

CollectionView(IEnumerable)

Initialisiert eine neue Instanz der CollectionView-Klasse, die eine Ansicht der angegebenen Auflistung darstellt.Initializes a new instance of the CollectionView class that represents a view of the specified collection.

Eigenschaften

AllowsCrossThreadChanges

Ruft einen Wert ab, der angibt, ob ein anderer Thread als der Thread, der CollectionView erstellt hat, SourceCollection ändern kann.Gets a value that indicates whether a thread other than the one that created the CollectionView can change the SourceCollection.

CanFilter

Ruft einen Wert ab, mit dem angegeben wird, ob diese Ansicht das Filtern unterstützt.Gets a value that indicates whether the view supports filtering.

CanGroup

Ruft einen Wert ab, mit dem angegeben wird, ob diese Ansicht das Gruppieren unterstützt.Gets a value that indicates whether the view supports grouping.

CanSort

Ruft einen Wert ab, mit dem angegeben wird, ob diese Ansicht das Sortieren unterstützt.Gets a value that indicates whether the view supports sorting.

Comparer

Gibt ein Objekt zurück, mit dem Sie die Elemente in der Ansicht vergleichen können.Returns an object that you can use to compare items in the view.

Count

Ruft die Anzahl der Datensätze in der Ansicht ab.Gets the number of records in the view.

Culture

Ruft die Kulturinformationen ab, die während der Sortierung verwendet werden sollen, oder legt diese Informationen fest.Gets or sets the culture information to use during sorting.

CurrentItem

Ruft das aktuelle Element in der Ansicht ab.Gets the current item in the view.

CurrentPosition

Ruft die Ordinalposition des CurrentItem in der (optional sortierten und gefilterten) Ansicht ab.Gets the ordinal position of the CurrentItem within the (optionally sorted and filtered) view.

Dispatcher

Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist.Gets the Dispatcher this DispatcherObject is associated with.

(Geerbt von DispatcherObject)
Filter

Dient zum Abrufen oder Festlegen einer Methode, über die bestimmt wird, ob ein Element zum Einfügen in die Ansicht geeignet ist.Gets or sets a method used to determine if an item is suitable for inclusion in the view.

GroupDescriptions

Ruft eine Auflistung der GroupDescription-Objekte ab, in der das Gruppieren von Elementen in der Auflistung beschrieben wird.Gets a collection of GroupDescription objects that describes how the items in the collection are grouped in the view.

Groups

Ruft eine Auflistung der Gruppen der obersten Ebene ab, die auf der Grundlage der GroupDescriptions-Eigenschaft erstellt wird.Gets a collection of the top-level groups that is constructed based on the GroupDescriptions property.

IsCurrentAfterLast

Ruft einen Wert ab, der angibt, ob sich das CurrentItem der Ansicht hinter dem Ende der Auflistung befindet.Gets a value that indicates whether the CurrentItem of the view is beyond the end of the collection.

IsCurrentBeforeFirst

Ruft einen Wert ab, der angibt, ob sich das CurrentItem der Ansicht vor dem Anfang der Auflistung befindet.Gets a value that indicates whether the CurrentItem of the view is before the beginning of the collection.

IsCurrentInSync

Ruft einen Wert ab, mit dem angegeben wird, ob sich das CurrentItem an der CurrentPosition befindet.Gets a value that indicates whether the CurrentItem is at the CurrentPosition.

IsDynamic

Ruft einen Wert ab, mit dem angegeben wird, ob die zugrunde liegende Auflistung Änderungsbenachrichtigungen bereitstellt.Gets a value that indicates whether the underlying collection provides change notifications.

IsEmpty

Ruft einen Wert ab, der angibt, ob die resultierende (gefilterte) Ansicht leer ist.Gets a value that indicates whether the resulting (filtered) view is empty.

IsInUse

Ruft einen Wert ab, der angibt, ob ein Objekt Ereignisse aus dieser CollectionView abonniert.Gets a value that indicates whether any object is subscribing to the events of this CollectionView.

IsRefreshDeferred

Ruft einen Wert ab, mit dem angegeben wird, ob ein ausstehender DeferRefresh() vorhanden ist.Gets a value that indicates whether there is an outstanding DeferRefresh() in use.

NeedsRefresh

Ruft einen Wert ab, mit dem angegeben wird, ob die Ansicht aktualisiert werden muss.Gets a value that indicates whether the view needs to be refreshed.

NewItemPlaceholder

Ruft das Objekt ab, das in der Auflistung ein neues Element darstellen soll.Gets the object that is in the collection to represent a new item.

SortDescriptions

Ruft eine Auflistung der SortDescription-Strukturen ab, in der die Sortierung der Elemente in der Auflistung beschrieben wird.Gets a collection of SortDescription structures that describes how the items in the collection are sorted in the view.

SourceCollection

Gibt die zugrunde liegende ungefilterte Auflistung zurück.Returns the underlying unfiltered collection.

UpdatedOutsideDispatcher

Ruft einen Wert ab, mit dem angegeben wird, ob eine Aktualisierung des Änderungsprotokolls erforderlich war, weil eine CollectionChanged-Benachrichtigung in einem anderen Thread empfangen wurde, ohne zuvor den Benutzeroberfläche (User Interface, UI)user interface (UI)-Threadverteiler zu durchlaufen.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 Benutzeroberfläche (User Interface, UI)user interface (UI) thread dispatcher.

Methoden

CheckAccess()

Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann.Determines whether the calling thread has access to this DispatcherObject.

(Geerbt von DispatcherObject)
ClearChangeLog()

Löscht alle anstehenden Änderungen aus dem Änderungsprotokoll.Clears any pending changes from the change log.

ClearPendingChanges()

Löscht nicht verarbeitete Änderungen der Sammlung.Clears unprocessed changed to the collection.

Contains(Object)

Gibt einen Wert zurück, mit dem angegeben wird, ob das angegebene Element zur Ansicht gehört.Returns a value that indicates whether the specified item belongs to the view.

DeferRefresh()

Wechselt in eine Verzögerungsschleife, mit der Sie Änderungen in der Ansicht zusammenführen und die automatische Aktualisierung verzögern können.Enters a defer cycle that you can use to merge changes to the view and delay automatic refresh.

DetachFromSourceCollection()

Entfernt den Verweis auf die darunterliegende Auflistung aus der CollectionView.Removes the reference to the underlying collection from the CollectionView.

Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetEnumerator()

Gibt ein Objekt zurück, mit dem Sie die Elemente in der Ansicht auflisten können.Returns an object that you can use to enumerate the items in the view.

GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Geerbt von Object)
GetItemAt(Int32)

Ruft das Element am angegebenen nullbasierten Index der Ansicht ab.Retrieves the item at the specified zero-based index in the view.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
IndexOf(Object)

Gibt den Index zurück, bei dem sich das angegebene Element befindet.Returns the index at which the specified item is located.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
MoveCurrentTo(Object)

Legt das angegebene Element als CurrentItem in der Ansicht fest.Sets the specified item to be the CurrentItem in the view.

MoveCurrentToFirst()

Legt das erste Element in der Ansicht als das CurrentItem fest.Sets the first item in the view as the CurrentItem.

MoveCurrentToLast()

Legt das letzte Element in der Ansicht als das CurrentItem fest.Sets the last item in the view as the CurrentItem.

MoveCurrentToNext()

Legt das Element nach dem CurrentItem in der Ansicht als das CurrentItem fest.Sets the item after the CurrentItem in the view as the CurrentItem.

MoveCurrentToPosition(Int32)

Legt das Element am angegebenen Index als das CurrentItem in der Ansicht fest.Sets the item at the specified index to be the CurrentItem in the view.

MoveCurrentToPrevious()

Legt das Element vor dem CurrentItem in der Ansicht als das CurrentItem fest.Sets the item before the CurrentItem in the view as the CurrentItem.

OKToChangeCurrent()

Gibt einen Wert zurück, mit dem angegeben wird, ob die Ansicht das CurrentItem-Element ändern kann.Returns a value that indicates whether the view can change which item is the CurrentItem.

OnAllowsCrossThreadChangesChanged()

Tritt ein, wenn sich die AllowsCrossThreadChanges-Eigenschaft ändert.Occurs when the AllowsCrossThreadChanges property changes.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)

Wird von der Basisklasse aufgerufen, um die abgeleitete Klasse zu benachrichtigen, dass ein CollectionChanged-Ereignis an die Meldungswarteschlange gesendet wurde.Called by the base class to notify the derived class that an CollectionChanged event has been posted to the message queue.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Löst das CollectionChanged-Ereignis aus.Raises the CollectionChanged event.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Löst das CollectionChanged-Ereignis aus.Raises the CollectionChanged event.

OnCurrentChanged()

Löst das CurrentChanged-Ereignis aus.Raises the CurrentChanged event.

OnCurrentChanging()

Löst ein CurrentChanging-Ereignis aus, das nicht abgebrochen werden kann.Raises a CurrentChanging event that is not cancelable.

OnCurrentChanging(CurrentChangingEventArgs)

Löst das CurrentChanging-Ereignis mit den angegebenen Argumenten aus.Raises the CurrentChanging event with the specified arguments.

OnPropertyChanged(PropertyChangedEventArgs)

Löst das PropertyChanged-Ereignis mit den angegebenen Argumenten aus.Raises the PropertyChanged event using the specified arguments.

PassesFilter(Object)

Gibt einen Wert zurück, mit dem angegeben wird, ob das angegebene Element zur Ansicht in der zugrunde liegenden Auflistung gehört.Returns a value that indicates whether the specified item in the underlying collection belongs to the view.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Wenn eine Überschreibung in einer abgeleiteten Klasse erfolgt, wird eine einzelne Änderung im UIUI-Thread verarbeitet.When overridden in a derived class, processes a single change on the UIUI thread.

ProcessPendingChanges()

Stellt sicher, dass für alle ausstehenden Änderungen an der Sammlung ein Commit ausgeführt wurden.Ensures that all pending changes to the collection have been committed.

Refresh()

Erstellt die Ansicht neu.Re-creates the view.

RefreshOrDefer()

Aktualisiert die Ansicht oder gibt an, dass die Ansicht aktualisiert werden muss, sobald der Verzögerungszyklus abgeschlossen ist.Refreshes the view or specifies that the view needs to be refreshed when the defer cycle completes.

RefreshOverride()

Erstellt die Ansicht neu.Re-creates the view.

SetCurrent(Object, Int32)

Legt das angegebene Element und den angegebenen Index als Werte der CurrentItem-Eigenschaft und der CurrentPosition-Eigenschaft fest.Sets the specified item and index as the values of the CurrentItem and CurrentPosition properties.

SetCurrent(Object, Int32, Int32)

Legt das angegebene Element und den angegebenen Index als Werte der CurrentItem-Eigenschaft und der CurrentPosition-Eigenschaft fest.Sets the specified item and index as the values of the CurrentItem and CurrentPosition properties. Diese Methode kann im Konstruktor einer abgeleiteten Klasse aufgerufen werden.This method can be called from a constructor of a derived class.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)
VerifyAccess()

Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann.Enforces that the calling thread has access to this DispatcherObject.

(Geerbt von DispatcherObject)

Ereignisse

CollectionChanged

Tritt ein, wenn die Ansicht geändert wurde.Occurs when the view has changed.

CurrentChanged

Tritt ein, nachdem sich CurrentItem geändert hat.Occurs after the CurrentItem has changed.

CurrentChanging

Tritt ein, wenn der CurrentItem geändert wird.Occurs when the CurrentItem is changing.

PropertyChanged

Tritt ein, wenn sich ein Eigenschaftswert geändert hat.Occurs when a property value has changed.

Explizite Schnittstellenimplementierungen

IEnumerable.GetEnumerator()

Gibt ein IEnumerator-Objekt zurück, mit dem Sie die Elemente in der Ansicht auflisten können.Returns an IEnumerator object that you can use to enumerate the items in the view.

INotifyCollectionChanged.CollectionChanged

Tritt ein, wenn die Ansicht geändert wurde.Occurs when the view has changed.

INotifyPropertyChanged.PropertyChanged

Tritt ein, wenn sich ein Eigenschaftswert ändert.Occurs when a property value changes.

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Gilt für: