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