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