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 pouze pro kolekci, která implementuje IEnumerable, vytvořit CollectionViewSource objekt, přidat kolekci do Source vlastnosti a získat 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ě řazení, filtrování a seskupování dotazů, a to vše bez nutnosti manipulovat se samotnou podkladovou zdrojovou kolekcí. Pokud zdrojová kolekce implementuje INotifyCollectionChanged rozhraní, změny, které vyvolaly 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ženo více zobrazení. Pomocí zobrazení můžete stejná data zobrazit různými způsoby. Pomocí dvou zobrazení v kolekci Task objektů můžete například zobrazit úkoly seřazené podle priority na jedné části stránky a seskupené 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í. K získání výchozího zobrazení použijte metodu CollectionViewSource.GetDefaultView . Interní třída založená na CollectionView je výchozí 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 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 seskupování dat pomocí zobrazení v xaml.

Další informace naleznete v tématu Vazby k kolekcím v přehledu datových vazeb.

Pokud chcete nastavit zobrazení v XAML, použijte CollectionViewSource třídu. CollectionViewSource je reprezentace CollectionView třídy XAML a zveřejňuje nejčastěji používané členy CollectionView třídy.

Konstruktory

Name Description
CollectionView(IEnumerable)

Inicializuje novou instanci CollectionView třídy, která představuje zobrazení zadané kolekce.

Vlastnosti

Name Description
AllowsCrossThreadChanges

Získá hodnotu, která určuje, zda vlákno jiné než vlákno, 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 jazykové verze, které se mají použít při řazení.

CurrentItem

Získá aktuální položku v zobrazení.

CurrentPosition

Získá řadovou pozici CurrentItem v zobrazení (volitelně seřazené a filtrované).

Dispatcher

Dispatcher Získá toto DispatcherObject je přidružené.

(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 položky v kolekci jsou seskupeny v zobrazení.

Groups

Získá kolekci skupin nejvyšší úrovně, která je vytvořena na GroupDescriptions základě vlastnosti.

IsCurrentAfterLast

Získá hodnotu, která určuje, zda CurrentItem zobrazení je nad koncem kolekce.

IsCurrentBeforeFirst

Získá hodnotu, která určuje, zda CurrentItem zobrazení je před začátkem kolekce.

IsCurrentInSync

Získá hodnotu, která urč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á určuje, zda je výsledné (filtrované) zobrazení 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 je třeba aktualizovat zobrazení.

NewItemPlaceholder

Získá objekt, který je v kolekci představující novou položku.

SortDescriptions

Získá kolekci SortDescription struktur, které popisují, jak položky v kolekci jsou seřazeny v zobrazení.

SourceCollection

Vrátí podkladovou nefiltrovanou kolekci.

UpdatedOutsideDispatcher

Získá hodnotu, která označuje, zda bylo nutné aktualizovat protokol změn, protože CollectionChanged oznámení bylo přijato v jiném vlákně bez prvního zadání dispečer uživatelského rozhraní (UI).

Metody

Name Description
CheckAccess()

Určuje, zda volající vlákno má 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á určuje, zda 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čuje, zda je zadaný objekt roven 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í 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()

Získá Type aktuální instance.

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

Vrátí index, na kterém je zadaná položka umístěna.

MemberwiseClone()

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

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

Nastaví zadanou CurrentItem položku tak, aby byla v zobrazení.

MoveCurrentToFirst()

Nastaví první položku v zobrazení jako CurrentItempoložku .

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 položkou 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 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, která není možné 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á určuje, zda 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 se má po dokončení cyklu odložit cyklus aktualizovat.

RefreshOverride()

Znovu vytvoří zobrazení.

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.

SetCurrent(Object, Int32)

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

ToString()

Vrátí řetězec, který představuje aktuální objekt.

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

Vynucuje, že volající vlákno má přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)

Událost

Name Description
CollectionChanged

Nastane, když se zobrazení změnilo.

CurrentChanged

Nastane po CurrentItem změně.

CurrentChanging

Nastane při CurrentItem změně.

PropertyChanged

Vyvolá se při změně hodnoty vlastnosti.

Explicitní implementace rozhraní

Name Description
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, když se změní hodnota vlastnosti.

Metody rozšíření

Name Description
AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable.

Cast<TResult>(IEnumerable)

Přetypuje prvky IEnumerable na zadaný typ.

OfType<TResult>(IEnumerable)

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

Platí pro