Sdílet prostřednictvím


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á pouze implementuje IEnumerable, 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í vazby, která umožňuje procházet a zobrazovat kolekci na základě dotazů řazení, filtrování a seskupení, aniž byste museli manipulovat se samotnou podkladovou zdrojovou kolekcí. Pokud zdrojová kolekce implementuje INotifyCollectionChanged rozhraní, změny, které vyvolávají CollectionChanged událost, se rozšíří do zobrazení.

Vzhledem k tomu, že zobrazení nemě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 v 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 ke kolekci prostřednictvím přidruženého zobrazení. K získání výchozího zobrazení použijte metodu CollectionViewSource.GetDefaultView . Interní třída založená na CollectionView je výchozím zobrazením 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.

Případně můžete vytvořit zobrazení vaší 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 XAML třídy. Příklad najdete v tématu Postupy: Řazení a seskupení dat pomocí zobrazení v XAML.

Další informace najdete v tématu Vazba na kolekce v přehledu datových vazeb.

Pokud chcete nastavit zobrazení v XAML, použijte CollectionViewSource třídu . CollectionViewSource je reprezentace CollectionView XAML třídy 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 jiné vlákno než ten, který vytvořil 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á řadovou CurrentItem pozici v rámci (volitelně seřazené a filtrované) zobrazení.

Dispatcher

Získá přidruženou Dispatcher k tomuto DispatcherObject .

(Zděděno od DispatcherObject)
Filter

Získá nebo nastaví metodu používanou k určení, zda je položka vhodná pro zahrnutí v zobrazení.

GroupDescriptions

Získá kolekci GroupDescription objektů, která popisuje, 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 za koncem 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 je výsledné (filtrované) zobrazení prázdné.

IsInUse

Získá hodnotu, která označuje, zda se některý objekt přihlásit k odběru událostí tohoto CollectionViewobjektu .

IsRefreshDeferred

Získá hodnotu, která označuje, zda se používá nevyužitý DeferRefresh() .

NeedsRefresh

Získá hodnotu, která označuje, zda zobrazení je třeba aktualizovat.

NewItemPlaceholder

Získá objekt, který je v kolekci reprezentovat novou položku.

SortDescriptions

Získá kolekci SortDescription struktur, která popisuje, 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í byl přijat v jiném vlákně bez prvního vstupu do uživatelského rozhraní (UI) vlákno dispečera.

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, zda zadaná položka patří do zobrazení.

DeferRefresh()

Zadá cyklus odložení, 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 vytvoření výčtu položek v zobrazení.

GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetItemAt(Int32)

Načte položku v zadaném indexu založeném na nule v zobrazení.

GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
IndexOf(Object)

Vrátí index, ve kterém se nachází zadaná položka.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
MoveCurrentTo(Object)

Nastaví zadanou položku na hodnotu v CurrentItem zobrazení.

MoveCurrentToFirst()

Nastaví první položku v zobrazení na CurrentItem.

MoveCurrentToLast()

Nastaví poslední položku v zobrazení na CurrentItem.

MoveCurrentToNext()

Nastaví položku za položkou CurrentItem v zobrazení na CurrentItem.

MoveCurrentToPosition(Int32)

Nastaví položku v zadaném indexu na hodnotu CurrentItem v zobrazení.

MoveCurrentToPrevious()

Nastaví položku před objektem CurrentItem v zobrazení na CurrentItem.

OKToChangeCurrent()

Vrátí hodnotu, která označuje, jestli zobrazení může změnit, která položka je CurrentItem.

OnAllowsCrossThreadChangesChanged()

Nastane při AllowsCrossThreadChanges změně vlastnosti.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Zastaralé.

Volá se základní třída, která má upozornit odvozenou CollectionChanged třídu, že událost byla odeslá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, kterou nelze zrušit.

OnCurrentChanging(CurrentChangingEventArgs)

Vyvolá událost se CurrentChanging zadanými argumenty.

OnPropertyChanged(PropertyChangedEventArgs)

PropertyChanged Vyvolá událost pomocí zadaných argumentů.

PassesFilter(Object)

Vrátí hodnotu, která označuje, zda zadaná položka v podkladové kolekci patří do zobrazení.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Při přepsání v odvozené třídě zpracuje jednu změnu ve vlákně uživatelského rozhraní.

ProcessPendingChanges()

Zajišťuje, aby byly potvrzeny všechny čekající změny kolekce.

Refresh()

Znovu vytvoří zobrazení.

RefreshOrDefer()

Aktualizuje zobrazení nebo určuje, že je potřeba ho aktualizovat po dokončení cyklu odložení.

RefreshOverride()

Znovu vytvoří zobrazení.

SetCurrent(Object, Int32)

Nastaví zadanou položku a index jako hodnoty CurrentItem vlastností a CurrentPosition .

SetCurrent(Object, Int32, Int32)

Nastaví zadanou položku a index jako hodnoty CurrentItem vlastností a CurrentPosition . 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()

Vynutí, aby volající vlákno má přístup k tomuto DispatcherObject.

(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 při změně hodnoty vlastnosti.

Explicitní implementace rozhraní

IEnumerable.GetEnumerator()

IEnumerator Vrátí objekt, který můžete použít k vytvoření výčtu položek v zobrazení.

INotifyCollectionChanged.CollectionChanged

Nastane, když se zobrazení změnilo.

INotifyPropertyChanged.PropertyChanged

Nastane při změně hodnoty vlastnosti.

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky objektu na IEnumerable zadaný typ.

OfType<TResult>(IEnumerable)

Filtruje prvky objektu IEnumerable na základě zadaného typu.

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede objekt na IEnumerableIQueryable.

Platí pro