CollectionView Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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 |