CollectionView Klasa

Definicja

Reprezentuje widok grupowania, sortowania, filtrowania i nawigowania po kolekcji danych.

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
Dziedziczenie
CollectionView
Pochodne
Implementuje

Uwagi

Nie należy tworzyć obiektów tej klasy w kodzie. Aby utworzyć widok kolekcji dla kolekcji, która implementuje IEnumerabletylko obiekt , utwórz CollectionViewSource obiekt, dodaj kolekcję do Source właściwości i pobierz widok kolekcji z View właściwości .

Widok kolekcji można traktować jako warstwę w górnej części kolekcji źródłowej powiązania, która umożliwia nawigację i wyświetlanie kolekcji na podstawie sortowania, filtrowania i grupowania zapytań bez konieczności manipulowania bazową kolekcją źródłową. Jeśli kolekcja źródłowa implementuje INotifyCollectionChanged interfejs, zmiany, które zgłaszają CollectionChanged zdarzenie, są propagowane do widoków.

Ponieważ widok nie zmienia bazowej kolekcji źródłowej, kolekcja źródłowa może mieć wiele widoków skojarzonych z nim. Za pomocą widoków można wyświetlać te same dane na różne sposoby. Na przykład można użyć dwóch widoków w kolekcji Task obiektów, aby pokazać zadania posortowane według priorytetu w jednej części strony i pogrupowane według obszaru w innej części strony.

W aplikacjach WPF wszystkie kolekcje mają skojarzony domyślny widok kolekcji. Zamiast bezpośrednio pracować z kolekcją, aparat powiązania zawsze uzyskuje dostęp do kolekcji za pośrednictwem skojarzonego widoku. Aby uzyskać widok domyślny, użyj CollectionViewSource.GetDefaultView metody . Klasa wewnętrzna oparta na CollectionView jest domyślnym widokiem kolekcji, które implementują tylko IEnumerable. ListCollectionView jest domyślnym widokiem kolekcji, które implementują IListelement . BindingListCollectionView jest domyślnym widokiem kolekcji implementujących IBindingListView lub IBindingList.

Alternatywnie możesz utworzyć widok kolekcji w języku Extensible Application Markup Language (XAML) przy użyciu CollectionViewSource klasy, a następnie powiązać kontrolkę z tym widokiem. Klasa CollectionViewSource jest reprezentacją CollectionView XAML klasy. Przykład można znaleźć w temacie How to Sort and Group Data Using a View in XAML (Jak sortować i grupować dane przy użyciu widoku w języku XAML).

Aby uzyskać więcej informacji, zobacz "Wiązanie z kolekcjami" w temacie Omówienie powiązania danych.

Aby ustawić widok w języku XAML, użyj CollectionViewSource klasy . CollectionViewSource jest reprezentacją CollectionView XAML klasy i uwidacznia najczęściej używane elementy członkowskie CollectionView klasy.

Konstruktory

CollectionView(IEnumerable)

Inicjuje CollectionView nowe wystąpienie klasy, która reprezentuje widok określonej kolekcji.

Właściwości

AllowsCrossThreadChanges

Pobiera wartość wskazującą, czy wątek inny niż ten, który utworzył CollectionView obiekt , może zmienić wartość SourceCollection.

CanFilter

Pobiera wartość wskazującą, czy widok obsługuje filtrowanie.

CanGroup

Pobiera wartość wskazującą, czy widok obsługuje grupowanie.

CanSort

Pobiera wartość wskazującą, czy widok obsługuje sortowanie.

Comparer

Zwraca obiekt, którego można użyć do porównywania elementów w widoku.

Count

Pobiera liczbę rekordów w widoku.

Culture

Pobiera lub ustawia informacje o kulturze do użycia podczas sortowania.

CurrentItem

Pobiera bieżący element w widoku.

CurrentPosition

Pobiera położenie CurrentItem porządkowe w widoku (opcjonalnie posortowany i filtrowany).

Dispatcher

Dispatcher Pobiera tę DispatcherObject wartość skojarzona z.

(Odziedziczone po DispatcherObject)
Filter

Pobiera lub ustawia metodę używaną do określenia, czy element jest odpowiedni do włączenia do widoku.

GroupDescriptions

Pobiera kolekcję obiektów opisujących GroupDescription sposób grupowania elementów w kolekcji w widoku.

Groups

Pobiera kolekcję grup najwyższego poziomu, które są tworzone na GroupDescriptions podstawie właściwości.

IsCurrentAfterLast

Pobiera wartość wskazującą, czy CurrentItem widok znajduje się poza końcem kolekcji.

IsCurrentBeforeFirst

Pobiera wartość wskazującą, czy CurrentItem widok znajduje się przed rozpoczęciem kolekcji.

IsCurrentInSync

Pobiera wartość wskazującą, czy element CurrentItem znajduje się w obiekcie CurrentPosition.

IsDynamic

Pobiera wartość wskazującą, czy podstawowa kolekcja udostępnia powiadomienia o zmianie.

IsEmpty

Pobiera wartość wskazującą, czy wynikowy (filtrowany) widok jest pusty.

IsInUse

Pobiera wartość wskazującą, czy dowolny obiekt subskrybuje zdarzenia tego CollectionViewobiektu .

IsRefreshDeferred

Pobiera wartość wskazującą, czy istnieje zaległa DeferRefresh() wartość w użyciu.

NeedsRefresh

Pobiera wartość wskazującą, czy widok musi zostać odświeżony.

NewItemPlaceholder

Pobiera obiekt znajdujący się w kolekcji w celu reprezentowania nowego elementu.

SortDescriptions

Pobiera kolekcję struktur opisujących SortDescription sposób sortowania elementów w kolekcji w widoku.

SourceCollection

Zwraca podstawową niefiltrowaną kolekcję.

UpdatedOutsideDispatcher

Pobiera wartość wskazującą, czy konieczne było zaktualizowanie dziennika zmian, ponieważ CollectionChanged powiadomienie zostało odebrane w innym wątku bez uprzedniego wprowadzania dyspozytora wątku interfejsu użytkownika.

Metody

CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
ClearChangeLog()
Przestarzałe.

Czyści wszelkie oczekujące zmiany z dziennika zmian.

ClearPendingChanges()

Czyści nieprzetworzoną zmianę w kolekcji.

Contains(Object)

Zwraca wartość wskazującą, czy określony element należy do widoku.

DeferRefresh()

Wprowadza cykl odroczenia, za pomocą którego można scalić zmiany w widoku i opóźnić automatyczne odświeżanie.

DetachFromSourceCollection()

Usuwa odwołanie do kolekcji bazowej z elementu CollectionView.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetEnumerator()

Zwraca obiekt, którego można użyć do wyliczenia elementów w widoku.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetItemAt(Int32)

Pobiera element w określonym indeksie zerowym w widoku.

GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
IndexOf(Object)

Zwraca indeks, w którym znajduje się określony element.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MoveCurrentTo(Object)

Ustawia określony element jako CurrentItem element w widoku.

MoveCurrentToFirst()

Ustawia pierwszy element w widoku jako CurrentItem.

MoveCurrentToLast()

Ustawia ostatni element w widoku jako CurrentItem.

MoveCurrentToNext()

Ustawia element po elemencie CurrentItem w widoku jako CurrentItem.

MoveCurrentToPosition(Int32)

Ustawia element w określonym indeksie jako CurrentItem element w widoku.

MoveCurrentToPrevious()

Ustawia element przed elementem CurrentItem w widoku jako CurrentItem.

OKToChangeCurrent()

Zwraca wartość wskazującą, czy widok może zmienić element .CurrentItem

OnAllowsCrossThreadChangesChanged()

Występuje, gdy AllowsCrossThreadChanges właściwość ulegnie zmianie.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Przestarzałe.

Wywoływana przez klasę bazową w celu powiadomienia klasy pochodnej o tym, że CollectionChanged zdarzenie zostało opublikowane w kolejce komunikatów.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

CollectionChanged Zgłasza zdarzenie.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

CollectionChanged Zgłasza zdarzenie.

OnCurrentChanged()

CurrentChanged Zgłasza zdarzenie.

OnCurrentChanging()

CurrentChanging Zgłasza zdarzenie, które nie można anulować.

OnCurrentChanging(CurrentChangingEventArgs)

CurrentChanging Zgłasza zdarzenie z określonymi argumentami.

OnPropertyChanged(PropertyChangedEventArgs)

PropertyChanged Zgłasza zdarzenie przy użyciu określonych argumentów.

PassesFilter(Object)

Zwraca wartość wskazującą, czy określony element w kolekcji bazowej należy do widoku.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Gdy zastąpisz klasę pochodną, przetwarza pojedynczą zmianę wątku interfejsu użytkownika.

ProcessPendingChanges()

Gwarantuje, że wszystkie oczekujące zmiany w kolekcji zostały zatwierdzone.

Refresh()

Ponownie tworzy widok.

RefreshOrDefer()

Odświeża widok lub określa, że widok musi zostać odświeżony po zakończeniu cyklu odroczenia.

RefreshOverride()

Ponownie tworzy widok.

SetCurrent(Object, Int32)

Ustawia określony element i indeks jako wartości CurrentItem właściwości i CurrentPosition .

SetCurrent(Object, Int32, Int32)

Ustawia określony element i indeks jako wartości CurrentItem właściwości i CurrentPosition . Tę metodę można wywołać z konstruktora klasy pochodnej.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)

Zdarzenia

CollectionChanged

Występuje, gdy widok uległ zmianie.

CurrentChanged

Występuje po CurrentItem zmianie.

CurrentChanging

Występuje, gdy CurrentItem zmienia się.

PropertyChanged

Występuje, gdy wartość właściwości uległa zmianie.

Jawne implementacje interfejsu

IEnumerable.GetEnumerator()

IEnumerator Zwraca obiekt, którego można użyć do wyliczenia elementów w widoku.

INotifyCollectionChanged.CollectionChanged

Występuje, gdy widok uległ zmianie.

INotifyPropertyChanged.PropertyChanged

Występuje, gdy wartość właściwości ulegnie zmianie.

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy elementu IEnumerable do określonego typu.

OfType<TResult>(IEnumerable)

Filtruje elementy elementu IEnumerable na podstawie określonego typu.

AsParallel(IEnumerable)

Umożliwia równoległość zapytania.

AsQueryable(IEnumerable)

Konwertuje element IEnumerable na .IQueryable

Dotyczy