CollectionView Třída

Definice

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

Platí pro