CollectionView Klasse

Definition

Stellt eine Ansicht für das Gruppieren, Sortieren, Filtern und Navigieren in einer Datensammlung dar.

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
Vererbung
CollectionView
Abgeleitet
Implementiert

Hinweise

Sie sollten keine Objekte dieser Klasse in Ihrem Code erstellen. Um eine Auflistungsansicht IEnumerablefür eine Auflistung zu erstellen, die nur implementiert, erstellen Sie ein CollectionViewSource -Objekt, fügen Sie die Auflistung der Source -Eigenschaft hinzu, und rufen Sie die Auflistungsansicht aus der View -Eigenschaft ab.

Sie können sich eine Sammlungsansicht als Ebene über einer Bindungsquellensammlung vorstellen, die ihnen das Navigieren und Anzeigen der Sammlung basierend auf Sortierungs-, Filter- und Gruppenabfragen ermöglicht, ohne die zugrunde liegende Quellsammlung selbst bearbeiten zu müssen. Wenn die Quellsammlung die INotifyCollectionChanged Schnittstelle implementiert, werden die Änderungen, die das CollectionChanged Ereignis auslösen, an die Ansichten weitergegeben.

Da eine Ansicht die zugrunde liegende Quellsammlung nicht ändert, können einer Quellsammlung mehrere Ansichten zugeordnet sein. Mithilfe von Ansichten können Sie dieselben Daten auf unterschiedliche Weise anzeigen. Beispielsweise können Sie zwei Ansichten für eine Auflistung von Task Objekten verwenden, um Aufgaben anzuzeigen, die auf einem Teil der Seite nach Priorität sortiert und nach Bereich auf einem anderen Teil der Seite gruppiert sind.

In WPF-Anwendungen verfügen alle Sammlungen über eine zugeordnete Standardauflistungsansicht. Anstatt direkt mit der Auflistung zu arbeiten, greift das Bindungsmodul immer über die zugeordnete Ansicht auf die Auflistung zu. Verwenden Sie die -Methode, um die CollectionViewSource.GetDefaultView Standardansicht abzurufen. Eine interne Klasse, die auf CollectionView basiert, ist die Standardansicht für Sammlungen, die nur IEnumerableimplementieren. ListCollectionView ist die Standardansicht für Sammlungen, die implementieren IList. BindingListCollectionViewist die Standardansicht für Sammlungen, die oder IBindingListimplementierenIBindingListView.

Alternativ können Sie mithilfe der -Klasse eine Ansicht Ihrer Sammlung in Extensible Application Markup Language (XAML) CollectionViewSource erstellen und dann Ihr Steuerelement an diese Ansicht binden. Die CollectionViewSource -Klasse ist die XAML-Darstellung der CollectionView -Klasse. Ein Beispiel finden Sie unter Vorgehensweise: Sortieren und Gruppieren von Daten mithilfe einer Ansicht in XAML.

Weitere Informationen finden Sie unter "Bindung an Sammlungen" in der Übersicht über die Datenbindung.

Verwenden Sie die CollectionViewSource -Klasse, um eine Ansicht in XAML festzulegen. CollectionViewSource ist die XAML-Darstellung der CollectionView -Klasse und macht die am häufigsten verwendeten Member der CollectionView -Klasse verfügbar.

Konstruktoren

CollectionView(IEnumerable)

Initialisiert eine neue Instanz der CollectionView-Klasse, die eine Ansicht der angegebenen Auflistung darstellt.

Eigenschaften

AllowsCrossThreadChanges

Ruft einen Wert ab, der angibt, ob ein anderer Thread als der Thread, der CollectionView erstellt hat, SourceCollection ändern kann.

CanFilter

Ruft einen Wert ab, mit dem angegeben wird, ob diese Ansicht das Filtern unterstützt.

CanGroup

Ruft einen Wert ab, mit dem angegeben wird, ob diese Ansicht das Gruppieren unterstützt.

CanSort

Ruft einen Wert ab, mit dem angegeben wird, ob diese Ansicht das Sortieren unterstützt.

Comparer

Gibt ein Objekt zurück, mit dem Sie die Elemente in der Ansicht vergleichen können.

Count

Ruft die Anzahl der Datensätze in der Ansicht ab.

Culture

Ruft die Kulturinformationen ab, die während der Sortierung verwendet werden sollen, oder legt diese Informationen fest.

CurrentItem

Ruft das aktuelle Element in der Ansicht ab.

CurrentPosition

Ruft die Ordinalposition des CurrentItem in der (optional sortierten und gefilterten) Ansicht ab.

Dispatcher

Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist.

(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.

GroupDescriptions

Ruft eine Auflistung der GroupDescription-Objekte ab, in der das Gruppieren von Elementen in der Auflistung beschrieben wird.

Groups

Ruft eine Auflistung der Gruppen der obersten Ebene ab, die auf der Grundlage der GroupDescriptions-Eigenschaft erstellt wird.

IsCurrentAfterLast

Ruft einen Wert ab, der angibt, ob sich das CurrentItem der Ansicht hinter dem Ende der Auflistung befindet.

IsCurrentBeforeFirst

Ruft einen Wert ab, der angibt, ob sich das CurrentItem der Ansicht vor dem Anfang der Auflistung befindet.

IsCurrentInSync

Ruft einen Wert ab, mit dem angegeben wird, ob sich das CurrentItem an der CurrentPosition befindet.

IsDynamic

Ruft einen Wert ab, mit dem angegeben wird, ob die zugrunde liegende Auflistung Änderungsbenachrichtigungen bereitstellt.

IsEmpty

Ruft einen Wert ab, der angibt, ob die resultierende (gefilterte) Ansicht leer ist.

IsInUse

Ruft einen Wert ab, der angibt, ob ein Objekt Ereignisse aus dieser CollectionView abonniert.

IsRefreshDeferred

Ruft einen Wert ab, mit dem angegeben wird, ob ein ausstehender DeferRefresh() vorhanden ist.

NeedsRefresh

Ruft einen Wert ab, mit dem angegeben wird, ob die Ansicht aktualisiert werden muss.

NewItemPlaceholder

Ruft das Objekt ab, das in der Auflistung ein neues Element darstellen soll.

SortDescriptions

Ruft eine Auflistung der SortDescription-Strukturen ab, in der die Sortierung der Elemente in der Auflistung beschrieben wird.

SourceCollection

Gibt die zugrunde liegende ungefilterte Auflistung zurück.

UpdatedOutsideDispatcher

Ruft einen Wert ab, der angibt, ob das Änderungsprotokoll aktualisiert werden musste, da eine CollectionChanged Benachrichtigung für einen anderen Thread empfangen wurde, ohne zuerst den Threadverteiler der Benutzeroberfläche (UI) einzugeben.

Methoden

CheckAccess()

Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)
ClearChangeLog()
Veraltet.

Löscht alle anstehenden Änderungen aus dem Änderungsprotokoll.

ClearPendingChanges()

Löscht nicht verarbeitete Änderungen der Sammlung.

Contains(Object)

Gibt einen Wert zurück, mit dem angegeben wird, ob das angegebene Element zur Ansicht gehört.

DeferRefresh()

Wechselt in eine Verzögerungsschleife, mit der Sie Änderungen in der Ansicht zusammenführen und die automatische Aktualisierung verzögern können.

DetachFromSourceCollection()

Entfernt den Verweis auf die darunterliegende Auflistung aus der CollectionView.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetEnumerator()

Gibt ein Objekt zurück, mit dem Sie die Elemente in der Ansicht auflisten können.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetItemAt(Int32)

Ruft das Element am angegebenen nullbasierten Index der Ansicht ab.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IndexOf(Object)

Gibt den Index zurück, bei dem sich das angegebene Element befindet.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
MoveCurrentTo(Object)

Legt das angegebene Element als CurrentItem in der Ansicht fest.

MoveCurrentToFirst()

Legt das erste Element in der Ansicht als CurrentItem fest.

MoveCurrentToLast()

Legt das letzte Element in der Ansicht als CurrentItem fest.

MoveCurrentToNext()

Legt das Element nach dem CurrentItem in der Ansicht als CurrentItem fest.

MoveCurrentToPosition(Int32)

Legt das Element am angegebenen Index als das CurrentItem in der Ansicht fest.

MoveCurrentToPrevious()

Legt das Element vor CurrentItem in der Ansicht als CurrentItem fest.

OKToChangeCurrent()

Gibt einen Wert zurück, mit dem angegeben wird, ob die Ansicht das CurrentItem-Element ändern kann.

OnAllowsCrossThreadChangesChanged()

Tritt ein, wenn sich die AllowsCrossThreadChanges-Eigenschaft ändert.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Veraltet.

Wird von der Basisklasse aufgerufen, um die abgeleitete Klasse zu benachrichtigen, dass ein CollectionChanged-Ereignis an die Meldungswarteschlange gesendet wurde.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Löst das CollectionChanged-Ereignis aus.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Löst das CollectionChanged-Ereignis aus.

OnCurrentChanged()

Löst das CurrentChanged-Ereignis aus.

OnCurrentChanging()

Löst ein CurrentChanging-Ereignis aus, das nicht abgebrochen werden kann.

OnCurrentChanging(CurrentChangingEventArgs)

Löst das CurrentChanging-Ereignis mit den angegebenen Argumenten aus.

OnPropertyChanged(PropertyChangedEventArgs)

Löst das PropertyChanged-Ereignis mit den angegebenen Argumenten aus.

PassesFilter(Object)

Gibt einen Wert zurück, mit dem angegeben wird, ob das angegebene Element zur Ansicht in der zugrunde liegenden Auflistung gehört.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Verarbeitet beim Überschreiben in einer abgeleiteten Klasse eine einzelne Änderung im UI-Thread.

ProcessPendingChanges()

Stellt sicher, dass für alle ausstehenden Änderungen an der Sammlung ein Commit ausgeführt wurden.

Refresh()

Erstellt die Ansicht neu.

RefreshOrDefer()

Aktualisiert die Ansicht oder gibt an, dass die Ansicht aktualisiert werden muss, sobald der Verzögerungszyklus abgeschlossen ist.

RefreshOverride()

Erstellt die Ansicht neu.

SetCurrent(Object, Int32)

Legt das angegebene Element und den angegebenen Index als Werte der CurrentItem-Eigenschaft und der CurrentPosition-Eigenschaft fest.

SetCurrent(Object, Int32, Int32)

Legt das angegebene Element und den angegebenen Index als Werte der CurrentItem-Eigenschaft und der CurrentPosition-Eigenschaft fest. Diese Methode kann im Konstruktor einer abgeleiteten Klasse aufgerufen werden.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
VerifyAccess()

Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)

Ereignisse

CollectionChanged

Tritt auf, wenn die Sicht geändert wurde.

CurrentChanged

Tritt ein, nachdem sich CurrentItem geändert hat.

CurrentChanging

Tritt ein, wenn der CurrentItem geändert wird.

PropertyChanged

Tritt auf, wenn sich ein Eigenschaftswert geändert hat.

Explizite Schnittstellenimplementierungen

IEnumerable.GetEnumerator()

Gibt ein IEnumerator-Objekt zurück, mit dem Sie die Elemente in der Ansicht auflisten können.

INotifyCollectionChanged.CollectionChanged

Tritt auf, wenn die Sicht geändert wurde.

INotifyPropertyChanged.PropertyChanged

Tritt ein, wenn sich ein Eigenschaftswert ändert.

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

Gilt für: