Freigeben über


CollectionView Klasse

Definition

Stellt eine Ansicht zum 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. Wenn Sie eine Sammlungsansicht für eine Auflistung erstellen möchten, die nur implementiert IEnumerablewird, erstellen Sie ein CollectionViewSource Objekt, fügen Sie die Auflistung der Source Eigenschaft hinzu, und rufen Sie die Sammlungsansicht aus der View Eigenschaft ab.

Sie können sich eine Sammlungsansicht als Ebene über einer Bindungsquellauflistung vorstellen, mit der Sie die Sammlung basierend auf Sortier-, Filter- und Gruppenabfragen navigieren und anzeigen können, ohne die zugrunde liegende Quellauflistung selbst bearbeiten zu müssen. Wenn die Quellauflistung die INotifyCollectionChanged Schnittstelle implementiert, werden die Änderungen, die das CollectionChanged Ereignis auslösen, an die Ansichten weitergegeben.

Da eine Ansicht die zugrunde liegende Quellauflistung nicht ändert, kann eine Quellauflistung mehrere Ansichten zugeordnet sein. Mithilfe von Ansichten können Sie dieselben Daten auf unterschiedliche Weise anzeigen. Sie können z. B. zwei Ansichten für eine Sammlung von Task Objekten verwenden, um Aufgaben anzuzeigen, die nach Priorität auf einem Teil der Seite sortiert sind 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 Sammlung zu arbeiten, greift das Bindungsmodul immer über die zugeordnete Ansicht auf die Auflistung zu. Verwenden Sie die CollectionViewSource.GetDefaultView Methode, um die Standardansicht abzurufen. Eine interne Klasse basiert auf CollectionView der Standardansicht für Sammlungen, die nur IEnumerableimplementiert werden. ListCollectionView ist die Standardansicht für Sammlungen, die implementiert werden IList. BindingListCollectionViewist die Standardansicht für Sammlungen, die implementiert oder implementiert IBindingListView werden.IBindingList

Alternativ können Sie eine Ansicht Ihrer Auflistung in Xaml (Extensible Application Markup Language) erstellen, indem Sie die CollectionViewSource Klasse verwenden und das Steuerelement dann an diese Ansicht binden. Die CollectionViewSource Klasse ist die XAML-Darstellung der CollectionView Klasse. Ein Beispiel finden Sie unter How to: Sort and Group Data Using a View in XAML.

Weitere Informationen finden Sie unter "Binden an Sammlungen" in der Datenbindungsübersicht.

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

Name Beschreibung
CollectionView(IEnumerable)

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

Eigenschaften

Name Beschreibung
AllowsCrossThreadChanges

Ruft einen Wert ab, der angibt, ob ein anderer Thread als der thread, der erstellt hat, den CollectionViewSourceCollectionändern kann.

CanFilter

Ruft einen Wert ab, der angibt, ob die Ansicht filtert.

CanGroup

Ruft einen Wert ab, der angibt, ob die Ansicht gruppieren unterstützt.

CanSort

Ruft einen Wert ab, der angibt, ob die Ansicht die Sortierung unterstützt.

Comparer

Gibt ein Objekt zurück, das Sie zum Vergleichen von Elementen in der Ansicht verwenden 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 fest.

CurrentItem

Ruft das aktuelle Element in der Ansicht ab.

CurrentPosition

Ruft die Ordnungsposition der innerhalb der CurrentItem (optional sortierten und gefilterten) Ansicht ab.

Dispatcher

Ruft dies Dispatcher ab, dem dies DispatcherObject zugeordnet ist.

(Geerbt von DispatcherObject)
Filter

Dient zum Abrufen oder Festlegen einer Methode, die verwendet wird, um zu bestimmen, ob ein Element für die Aufnahme in die Ansicht geeignet ist.

GroupDescriptions

Ruft eine Auflistung von GroupDescription Objekten ab, die beschreibt, wie die Elemente in der Auflistung in der Ansicht gruppiert werden.

Groups

Ruft eine Auflistung der Gruppen der obersten Ebene ab, die basierend auf der GroupDescriptions Eigenschaft erstellt werden.

IsCurrentAfterLast

Ruft einen Wert ab, der angibt, ob die CurrentItem Ansicht über das Ende der Auflistung hinausgeht.

IsCurrentBeforeFirst

Ruft einen Wert ab, der angibt, ob die CurrentItem Ansicht vor dem Anfang der Auflistung liegt.

IsCurrentInSync

Ruft einen Wert ab, der angibt, ob sich der CurrentItem Wert befindet.CurrentPosition

IsDynamic

Ruft einen Wert ab, der angibt, 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 die Ereignisse dieses CollectionViewObjekts abonniert.

IsRefreshDeferred

Ruft einen Wert ab, der angibt, ob eine ausstehende DeferRefresh() Verwendung vorhanden ist.

NeedsRefresh

Ruft einen Wert ab, der angibt, ob die Ansicht aktualisiert werden muss.

NewItemPlaceholder

Ruft das Objekt ab, das sich in der Auflistung befindet, um ein neues Element darzustellen.

SortDescriptions

Ruft eine Auflistung von SortDescription Strukturen ab, die beschreibt, wie die Elemente in der Auflistung in der Ansicht sortiert werden.

SourceCollection

Gibt die zugrunde liegende nicht gefilterte Auflistung zurück.

UpdatedOutsideDispatcher

Ruft einen Wert ab, der angibt, ob das Änderungsprotokoll aktualisiert werden muss, da eine CollectionChanged Benachrichtigung in einem anderen Thread empfangen wurde, ohne zuerst den Thread-Dispatcher der Benutzeroberfläche (UI) einzugeben.

Methoden

Name Beschreibung
CheckAccess()

Bestimmt, ob der aufrufende Thread Zugriff auf diesen DispatcherObjectThread hat.

(Geerbt von DispatcherObject)
ClearChangeLog()
Veraltet.

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

ClearPendingChanges()

Löscht unverarbeitete Änderungen an der Auflistung.

Contains(Object)

Gibt einen Wert zurück, der angibt, ob das angegebene Element zur Ansicht gehört.

DeferRefresh()

Gibt einen Zurückstellungszyklus ein, mit dem Sie Änderungen an der Ansicht zusammenführen und die automatische Aktualisierung verzögern können.

DetachFromSourceCollection()

Entfernt den Verweis auf die zugrunde liegende Auflistung aus der CollectionView.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetEnumerator()

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

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetItemAt(Int32)

Ruft das Element am angegebenen nullbasierten Index in der Ansicht ab.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
IndexOf(Object)

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

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
MoveCurrentTo(Object)

Legt das angegebene Element so fest, dass es sich CurrentItem in der Ansicht befindet.

MoveCurrentToFirst()

Legt das erste Element in der Ansicht als die CurrentItem.

MoveCurrentToLast()

Legt das letzte Element in der Ansicht als die CurrentItem.

MoveCurrentToNext()

Legt das Element nach der CurrentItem Ansicht als die CurrentItem.

MoveCurrentToPosition(Int32)

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

MoveCurrentToPrevious()

Legt das Element vor der CurrentItem Ansicht als die CurrentItem.

OKToChangeCurrent()

Gibt einen Wert zurück, der angibt, ob die Ansicht ändern kann, welches Element das CurrentItemist.

OnAllowsCrossThreadChangesChanged()

Tritt auf, wenn sich die AllowsCrossThreadChanges Eigenschaft ändert.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Veraltet.

Wird von der Basisklasse aufgerufen, um die abgeleitete Klasse zu benachrichtigen, dass ein CollectionChanged Ereignis in der Nachrichtenwarteschlange gepostet 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 mithilfe der angegebenen Argumente aus.

PassesFilter(Object)

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

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Wenn sie in einer abgeleiteten Klasse überschrieben wird, verarbeitet eine einzelne Änderung im UI-Thread.

ProcessPendingChanges()

Stellt sicher, dass alle ausstehenden Änderungen an der Auflistung übernommen wurden.

Refresh()

Erstellt die Ansicht erneut.

RefreshOrDefer()

Aktualisiert die Ansicht oder gibt an, dass die Ansicht aktualisiert werden muss, wenn der Zurückstellungszyklus abgeschlossen ist.

RefreshOverride()

Erstellt die Ansicht erneut.

SetCurrent(Object, Int32, Int32)

Legt das angegebene Element und den Index als Werte der CurrentItem Und CurrentPosition Eigenschaften fest. Diese Methode kann von einem Konstruktor einer abgeleiteten Klasse aufgerufen werden.

SetCurrent(Object, Int32)

Legt das angegebene Element und den Index als Werte der CurrentItem Und CurrentPosition Eigenschaften fest.

ToString()

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

(Geerbt von Object)
VerifyAccess()

Erzwingt, dass der aufrufende Thread Zugriff auf diesen DispatcherObjectThread hat.

(Geerbt von DispatcherObject)

Ereignisse

Name Beschreibung
CollectionChanged

Tritt auf, wenn sich die Ansicht geändert hat.

CurrentChanged

Tritt ein, nachdem sich die CurrentItem Änderung geändert hat.

CurrentChanging

Tritt auf, wenn sich die CurrentItem Änderung ergibt.

PropertyChanged

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

Explizite Schnittstellenimplementierungen

Name Beschreibung
IEnumerable.GetEnumerator()

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

INotifyCollectionChanged.CollectionChanged

Tritt auf, wenn sich die Ansicht geändert hat.

INotifyPropertyChanged.PropertyChanged

Tritt auf, wenn sich ein Eigenschaftswert ändert.

Erweiterungsmethoden

Name Beschreibung
AsParallel(IEnumerable)

Aktiviert die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Wandelt eine IEnumerable in eine IQueryableum.

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um.

OfType<TResult>(IEnumerable)

Filtert die Elemente einer IEnumerable basierend auf einem angegebenen Typ.

Gilt für: