CollectionView Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje zobrazení pro seskupení, řazení, filtrování a navigaci v kolekci dat.
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
- Dědičnost
- Odvozené
- Implementuje
Poznámky
V kódu byste neměli vytvářet objekty této třídy. Chcete-li vytvořit zobrazení kolekce pro kolekci, která implementuje IEnumerablepouze , vytvořte CollectionViewSource objekt, přidejte kolekci do Source vlastnosti a získejte zobrazení kolekce z View vlastnosti.
Zobrazení kolekce si můžete představit jako vrstvu nad zdrojovou kolekcí vazeb, která umožňuje procházet a zobrazovat kolekci na základě dotazů řazení, filtrování a seskupení, a to vše bez nutnosti manipulovat se samotnou podkladovou zdrojovou kolekcí. Pokud zdrojová kolekce implementuje INotifyCollectionChanged rozhraní, změny, které vyvolá CollectionChanged událost, se rozšíří do zobrazení.
Vzhledem k tomu, že zobrazení nezmění podkladovou zdrojovou kolekci, může mít zdrojová kolekce přidružené více zobrazení. Pomocí zobrazení můžete stejná data zobrazit různými způsoby. Můžete například použít dvě zobrazení v kolekci Task
objektů k zobrazení úkolů seřazených podle priority na jedné části stránky a seskupených podle oblasti na jiné části stránky.
V aplikacích WPF mají všechny kolekce přidružené výchozí zobrazení kolekce. Místo přímé práce s kolekcí modul vazeb vždy přistupuje k kolekci prostřednictvím přidruženého zobrazení. Pokud chcete získat výchozí zobrazení, použijte metodu CollectionViewSource.GetDefaultView . Interní třída založená na CollectionView výchozím zobrazení pro kolekce, které implementují pouze IEnumerable. ListCollectionView je výchozí zobrazení pro kolekce, které implementují IList. BindingListCollectionView je výchozí zobrazení pro kolekce, které implementují IBindingListView nebo IBindingList.
Alternativně můžete vytvořit zobrazení kolekce v jazyce XAML (Extensible Application Markup Language) pomocí CollectionViewSource třídy a pak svázat ovládací prvek s tímto zobrazením. Třída CollectionViewSource je reprezentace CollectionView třídy XAML. Příklad najdete v tématu Postupy: Řazení a seskupení dat pomocí zobrazení v XAML.
Další informace najdete v tématu Vazby k kolekcím v přehledu datových vazeb.
Pokud chcete nastavit zobrazení v XAML, použijte třídu CollectionViewSource . CollectionViewSource je reprezentace CollectionView třídy XAML a zveřejňuje nejčastěji používané členy CollectionView třídy.
Konstruktory
CollectionView(IEnumerable) |
Inicializuje novou instanci CollectionView třídy, která představuje zobrazení zadané kolekce. |
Vlastnosti
AllowsCrossThreadChanges |
Získá hodnotu, která označuje, zda vlákno jiné než vlákno, které vytvořilo CollectionView může změnit SourceCollection. |
CanFilter |
Získá hodnotu, která označuje, zda zobrazení podporuje filtrování. |
CanGroup |
Získá hodnotu, která označuje, zda zobrazení podporuje seskupení. |
CanSort |
Získá hodnotu, která označuje, zda zobrazení podporuje řazení. |
Comparer |
Vrátí objekt, který můžete použít k porovnání položek v zobrazení. |
Count |
Získá počet záznamů v zobrazení. |
Culture |
Získá nebo nastaví informace o jazykové verzi, které se mají použít při řazení. |
CurrentItem |
Získá aktuální položku v zobrazení. |
CurrentPosition |
Získá pořadovou pozici CurrentItem v rámci zobrazení (volitelně seřazené a filtrované). |
Dispatcher |
Získá to DispatcherObject je přidruženoDispatcher. (Zděděno od DispatcherObject) |
Filter |
Získá nebo nastaví metodu použitou k určení, zda je položka vhodná pro zahrnutí do zobrazení. |
GroupDescriptions |
Získá kolekci GroupDescription objektů, které popisují, jak jsou položky v kolekci seskupené v zobrazení. |
Groups |
Získá kolekci skupin nejvyšší úrovně, která je vytvořena na GroupDescriptions základě vlastnosti. |
IsCurrentAfterLast |
Získá hodnotu, která označuje, zda CurrentItem zobrazení je nad rámec konce kolekce. |
IsCurrentBeforeFirst |
Získá hodnotu, která označuje, zda CurrentItem zobrazení je před začátkem kolekce. |
IsCurrentInSync |
Získá hodnotu, která označuje, zda CurrentItem je na CurrentPosition. |
IsDynamic |
Získá hodnotu, která označuje, zda podkladová kolekce poskytuje oznámení o změnách. |
IsEmpty |
Získá hodnotu, která označuje, zda výsledné (filtrované) zobrazení je prázdné. |
IsInUse |
Získá hodnotu, která označuje, zda jakýkoli objekt se přihlašuje k odběru událostí tohoto CollectionView. |
IsRefreshDeferred |
Získá hodnotu, která označuje, zda existuje nevyužité DeferRefresh() použití. |
NeedsRefresh |
Získá hodnotu, která označuje, zda zobrazení musí být aktualizováno. |
NewItemPlaceholder |
Získá objekt, který je v kolekci reprezentovat novou položku. |
SortDescriptions |
Získá kolekci SortDescription struktur, které popisují, jak jsou položky v kolekci seřazeny v zobrazení. |
SourceCollection |
Vrátí základní nefiltrovanou kolekci. |
UpdatedOutsideDispatcher |
Získá hodnotu, která označuje, zda bylo nutné aktualizovat protokol změn, protože CollectionChanged oznámení bylo přijato na jiném vlákně bez prvního zadání dispečeru vlákna uživatelského rozhraní (UI). |
Metody
CheckAccess() |
Určuje, zda má volající vlákno přístup k tomuto DispatcherObject. (Zděděno od DispatcherObject) |
ClearChangeLog() |
Zastaralé.
Vymaže všechny čekající změny z protokolu změn. |
ClearPendingChanges() |
Vymaže nezpracované změny v kolekci. |
Contains(Object) |
Vrátí hodnotu, která označuje, jestli zadaná položka patří do zobrazení. |
DeferRefresh() |
Zadá odložit cyklus, který můžete použít ke sloučení změn zobrazení a zpoždění automatické aktualizace. |
DetachFromSourceCollection() |
Odebere odkaz na podkladovou kolekci z objektu CollectionView. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetEnumerator() |
Vrátí objekt, který můžete použít k výčtu položek v zobrazení. |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetItemAt(Int32) |
Načte položku v zadaném indexu založeném na nule v zobrazení. |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
IndexOf(Object) |
Vrátí index, ve kterém je zadaná položka umístěna. |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
MoveCurrentTo(Object) |
Nastaví zadanou položku jako CurrentItem v zobrazení. |
MoveCurrentToFirst() |
Nastaví první položku v zobrazení jako CurrentItem. |
MoveCurrentToLast() |
Nastaví poslední položku v zobrazení jako CurrentItem. |
MoveCurrentToNext() |
Nastaví položku za položkou CurrentItem v zobrazení jako CurrentItem. |
MoveCurrentToPosition(Int32) |
Nastaví položku v zadaném indexu tak CurrentItem , aby byla v zobrazení. |
MoveCurrentToPrevious() |
Nastaví položku před CurrentItem v zobrazení jako CurrentItem. |
OKToChangeCurrent() |
Vrátí hodnotu, která určuje, zda zobrazení může změnit, která položka je CurrentItem. |
OnAllowsCrossThreadChangesChanged() |
Nastane, když se AllowsCrossThreadChanges vlastnost změní. |
OnBeginChangeLogging(NotifyCollectionChangedEventArgs) |
Zastaralé.
Volá se základní třídou, která upozorní odvozenou třídu, že CollectionChanged událost byla publikována do fronty zpráv. |
OnCollectionChanged(NotifyCollectionChangedEventArgs) |
CollectionChanged Vyvolá událost. |
OnCollectionChanged(Object, NotifyCollectionChangedEventArgs) |
CollectionChanged Vyvolá událost. |
OnCurrentChanged() |
CurrentChanged Vyvolá událost. |
OnCurrentChanging() |
CurrentChanging Vyvolá událost, která se nedá zrušit. |
OnCurrentChanging(CurrentChangingEventArgs) |
CurrentChanging Vyvolá událost se zadanými argumenty. |
OnPropertyChanged(PropertyChangedEventArgs) |
PropertyChanged Vyvolá událost pomocí zadaných argumentů. |
PassesFilter(Object) |
Vrátí hodnotu, která označuje, jestli zadaná položka v podkladové kolekci patří do zobrazení. |
ProcessCollectionChanged(NotifyCollectionChangedEventArgs) |
Při přepsání v odvozené třídě zpracovává jednu změnu ve vlákně uživatelského rozhraní. |
ProcessPendingChanges() |
Zajišťuje, že byly potvrzeny všechny čekající změny v kolekci. |
Refresh() |
Znovu vytvoří zobrazení. |
RefreshOrDefer() |
Aktualizuje zobrazení nebo určuje, že zobrazení se musí aktualizovat po dokončení cyklu odložit. |
RefreshOverride() |
Znovu vytvoří zobrazení. |
SetCurrent(Object, Int32) |
Nastaví zadanou položku a index jako hodnoty CurrentItem a CurrentPosition vlastnosti. |
SetCurrent(Object, Int32, Int32) |
Nastaví zadanou položku a index jako hodnoty CurrentItem a CurrentPosition vlastnosti. Tuto metodu lze volat z konstruktoru odvozené třídy. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
VerifyAccess() |
Vynucuje, aby volající vlákno má k tomuto DispatcherObjectpřístupu přístup . (Zděděno od DispatcherObject) |
událost
CollectionChanged |
Nastane, když se zobrazení změnilo. |
CurrentChanged |
Nastane po CurrentItem změně. |
CurrentChanging |
Nastane, když se CurrentItem mění. |
PropertyChanged |
Nastane, když se změnila hodnota vlastnosti. |
Explicitní implementace rozhraní
IEnumerable.GetEnumerator() |
IEnumerator Vrátí objekt, který můžete použít k výčtu položek v zobrazení. |
INotifyCollectionChanged.CollectionChanged |
Nastane, když se zobrazení změnilo. |
INotifyPropertyChanged.PropertyChanged |
Nastane, když se změní hodnota vlastnosti. |
Metody rozšíření
Cast<TResult>(IEnumerable) |
Přetypuje prvky zadaného IEnumerable typu. |
OfType<TResult>(IEnumerable) |
Filtruje prvky IEnumerable založené na zadaném typu. |
AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
AsQueryable(IEnumerable) |
Převede na IEnumerable IQueryable. |