CollectionView Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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. |