CollectionView Třída

Definice

Představuje zobrazení pro seskupování, řazení, filtrování a navigaci v kolekci dat.Represents a view for grouping, sorting, filtering, and navigating a data collection.

public ref class CollectionView : System::Windows::Threading::DispatcherObject, System::Collections::IEnumerable, System::Collections::Specialized::INotifyCollectionChanged, System::ComponentModel::ICollectionView, System::ComponentModel::INotifyPropertyChanged
public ref 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
public class CollectionView : System.Windows.Threading.DispatcherObject, System.Collections.IEnumerable, System.ComponentModel.ICollectionView, System.ComponentModel.INotifyPropertyChanged
type CollectionView = class
    inherit DispatcherObject
    interface IEnumerable
    interface INotifyCollectionChanged
    interface ICollectionView
    interface INotifyPropertyChanged
type CollectionView = class
    inherit DispatcherObject
    interface ICollectionView
    interface IEnumerable
    interface INotifyCollectionChanged
    interface INotifyPropertyChanged
Public Class CollectionView
Inherits DispatcherObject
Implements ICollectionView, IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged
Public Class CollectionView
Inherits DispatcherObject
Implements ICollectionView, IEnumerable, INotifyPropertyChanged
Dědičnost
CollectionView
Odvozené
Implementuje

Poznámky

V kódu byste neměli vytvářet objekty této třídy.You should not create objects of this class in your code. Chcete-li vytvořit zobrazení kolekce pro kolekci, která implementuje pouze IEnumerable , vytvořte CollectionViewSource objekt, přidejte kolekci do Source vlastnosti a získejte zobrazení kolekce z View Vlastnosti.To create a collection view for a collection that only implements IEnumerable, create a CollectionViewSource object, add your collection to the Source property, and get the collection view from the View property.

Zobrazení kolekce si můžete představit jako vrstvu nad kolekcí zdrojů vazby, která umožňuje procházení a zobrazování kolekce na základě dotazů řazení, filtrování a seskupování, a to vše bez nutnosti manipulovat se základní zdrojovou kolekcí.You can think of a collection view as a layer on top of a binding source collection that allows you to navigate and display the collection based on sort, filter, and group queries, all without having to manipulate the underlying source collection itself. Pokud zdrojová kolekce implementuje INotifyCollectionChanged rozhraní, změny, které vyvolávají CollectionChanged událost, se rozšíří do zobrazení.If the source collection implements the INotifyCollectionChanged interface, the changes that raise the CollectionChanged event are propagated to the views.

Vzhledem k tomu, že zobrazení nezmění základní zdrojovou kolekci, ke zdrojové kolekci může být přidruženo více zobrazení.Because a view does not change the underlying source collection, a source collection can have multiple views associated with it. Pomocí zobrazení můžete stejná data zobrazit různými způsoby.By using views, you can display the same data in different ways. Například můžete použít dvě zobrazení na kolekci Task objektů a zobrazit úkoly seřazené podle priority na jedné části stránky a seskupit podle oblasti v jiné části stránky.For example, you can use two views on a collection of Task objects to show tasks sorted by priority on one part of the page and grouped by area on another part of the page.

V aplikacích WPF mají všechny kolekce přidružené zobrazení výchozí kolekce.In WPF applications, all collections have an associated default collection view. Místo toho, aby přímo pracoval s kolekcí, modul vazby vždy přistupuje ke kolekci prostřednictvím přidruženého zobrazení.Rather than working with the collection directly, the binding engine always accesses the collection through the associated view. Chcete-li získat výchozí zobrazení, použijte CollectionViewSource.GetDefaultView metodu.To get the default view, use the CollectionViewSource.GetDefaultView method. Interní třída založená na CollectionView výchozím zobrazení pro kolekce, které implementují pouze IEnumerable .An internal class based on CollectionView is the default view for collections that implement only IEnumerable. ListCollectionView je výchozím zobrazením pro kolekce, které implementují IList .ListCollectionView is the default view for collections that implement IList. BindingListCollectionView je výchozí zobrazení pro kolekce, které implementují IBindingListView nebo IBindingList .BindingListCollectionView is the default view for collections that implement IBindingListView or IBindingList.

Alternativně můžete vytvořit zobrazení kolekce v jazyk Extensible Application Markup Language (XAML) (XAML) pomocí CollectionViewSource třídy a potom navážete ovládací prvek k tomuto zobrazení.Alternatively, you can create a view of your collection in Extensible Application Markup Language (XAML) by using the CollectionViewSource class and then bind your control to that view. CollectionViewSourceTřída je reprezentace CollectionView třídy XAML.The CollectionViewSource class is the XAML representation of the CollectionView class. Příklad naleznete v tématu Postupy: řazení a seskupování dat pomocí zobrazení v jazyce XAML.For an example, see How to: Sort and Group Data Using a View in XAML.

Další informace najdete v tématu "vazba na kolekce" v tématu Přehled vytváření datových vazeb.For more information, see "Binding to Collections" in Data Binding Overview.

Chcete-li nastavit zobrazení v jazyce XAML, použijte CollectionViewSource třídu.To set a view in XAML, use the CollectionViewSource class. CollectionViewSource je reprezentace CollectionView třídy XAML a zpřístupňuje nejběžněji používané členy CollectionView třídy.CollectionViewSource is the XAML representation of the CollectionView class, and it exposes the most commonly used members of the CollectionView class.

Konstruktory

CollectionView(IEnumerable)

Inicializuje novou instanci CollectionView třídy, která představuje zobrazení zadané kolekce.Initializes a new instance of the CollectionView class that represents a view of the specified collection.

Vlastnosti

AllowsCrossThreadChanges

Získá hodnotu, která označuje, zda může jiné vlákno, než je ten, který vytvořil, CollectionView změnit SourceCollection .Gets a value that indicates whether a thread other than the one that created the CollectionView can change the SourceCollection.

CanFilter

Získá hodnotu, která označuje, zda zobrazení podporuje filtrování.Gets a value that indicates whether the view supports filtering.

CanGroup

Získá hodnotu, která označuje, zda zobrazení podporuje seskupování.Gets a value that indicates whether the view supports grouping.

CanSort

Získá hodnotu, která označuje, zda zobrazení podporuje řazení.Gets a value that indicates whether the view supports sorting.

Comparer

Vrátí objekt, který lze použít k porovnání položek v zobrazení.Returns an object that you can use to compare items in the view.

Count

Získá počet záznamů v zobrazení.Gets the number of records in the view.

Culture

Získá nebo nastaví informace o jazykové verzi, které se mají použít při řazení.Gets or sets the culture information to use during sorting.

CurrentItem

Načte aktuální položku v zobrazení.Gets the current item in the view.

CurrentPosition

Získá pořadové místo v CurrentItem rámci (volitelné seřazené a filtrované) zobrazení.Gets the ordinal position of the CurrentItem within the (optionally sorted and filtered) view.

Dispatcher

Získá Dispatcher přidružený k DispatcherObject .Gets the Dispatcher this DispatcherObject is associated with.

(Zděděno od DispatcherObject)
Filter

Získává nebo nastavuje metodu, která slouží k určení, jestli je položka vhodná pro zařazení do zobrazení.Gets or sets a method used to determine if an item is suitable for inclusion in the view.

GroupDescriptions

Získá kolekci GroupDescription objektů, které popisují, jak jsou položky v kolekci seskupeny v zobrazení.Gets a collection of GroupDescription objects that describes how the items in the collection are grouped in the view.

Groups

Získá kolekci skupin nejvyšší úrovně, které jsou postaveny na základě GroupDescriptions Vlastnosti.Gets a collection of the top-level groups that is constructed based on the GroupDescriptions property.

IsCurrentAfterLast

Získá hodnotu, která označuje, zda CurrentItem je zobrazení za koncem kolekce.Gets a value that indicates whether the CurrentItem of the view is beyond the end of the collection.

IsCurrentBeforeFirst

Získá hodnotu, která označuje, zda CurrentItem je zobrazení před začátkem kolekce.Gets a value that indicates whether the CurrentItem of the view is before the beginning of the collection.

IsCurrentInSync

Získá hodnotu, která označuje, zda CurrentItem je v CurrentPosition .Gets a value that indicates whether the CurrentItem is at the CurrentPosition.

IsDynamic

Získá hodnotu, která označuje, zda podkladová kolekce poskytuje oznámení o změně.Gets a value that indicates whether the underlying collection provides change notifications.

IsEmpty

Načte hodnotu, která označuje, zda je výsledné (filtrované) zobrazení prázdné.Gets a value that indicates whether the resulting (filtered) view is empty.

IsInUse

Získá hodnotu, která označuje, jestli je nějaký objekt přihlášený k odběru událostí tohoto CollectionView .Gets a value that indicates whether any object is subscribing to the events of this CollectionView.

IsRefreshDeferred

Získá hodnotu, která označuje, zda je použito nedokončené DeferRefresh() používání.Gets a value that indicates whether there is an outstanding DeferRefresh() in use.

NeedsRefresh

Získá hodnotu, která označuje, zda je třeba aktualizovat zobrazení.Gets a value that indicates whether the view needs to be refreshed.

NewItemPlaceholder

Získá objekt, který je v kolekci, aby představoval novou položku.Gets the object that is in the collection to represent a new item.

SortDescriptions

Získá kolekci SortDescription struktur, které popisují, jak jsou položky v kolekci seřazené v zobrazení.Gets a collection of SortDescription structures that describes how the items in the collection are sorted in the view.

SourceCollection

Vrátí podkladovou nefiltrované kolekce.Returns the underlying unfiltered collection.

UpdatedOutsideDispatcher

Získá hodnotu, která označuje, zda bylo nutné aktualizovat protokol změn, protože bylo CollectionChanged přijato oznámení v jiném vlákně, aniž by bylo nutné nejprve zadat dispečera vlákna uživatelského rozhraní (UI).Gets a value that indicates whether it has been necessary to update the change log because a CollectionChanged notification has been received on a different thread without first entering the user interface (UI) thread dispatcher.

Metody

CheckAccess()

Určuje, zda má volající vlákno přístup DispatcherObject .Determines whether the calling thread has access to this DispatcherObject.

(Zděděno od DispatcherObject)
ClearChangeLog()
Zastaralé.

Vymaže všechny probíhající změny v protokolu změn.Clears any pending changes from the change log.

ClearPendingChanges()

Zruší nezpracované změny v kolekci.Clears unprocessed changed to the collection.

Contains(Object)

Vrátí hodnotu, která označuje, zda zadaná položka patří do zobrazení.Returns a value that indicates whether the specified item belongs to the view.

DeferRefresh()

Vloží cyklus odložení, který můžete použít ke sloučení změn do zobrazení a zpoždění automatické aktualizace.Enters a defer cycle that you can use to merge changes to the view and delay automatic refresh.

DetachFromSourceCollection()

Odebere odkaz na podkladovou kolekci z CollectionView .Removes the reference to the underlying collection from the CollectionView.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

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

Vrátí objekt, který lze použít k vytvoření výčtu položek v zobrazení.Returns an object that you can use to enumerate the items in the view.

GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

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

Načte položku v zobrazení v zadaném indexu založeném na nule.Retrieves the item at the specified zero-based index in the view.

GetType()

Získá Type aktuální instanci.Gets the Type of the current instance.

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

Vrátí index, ve kterém se nachází zadaná položka.Returns the index at which the specified item is located.

MemberwiseClone()

Vytvoří kopii aktuálního seznamu Object .Creates a shallow copy of the current Object.

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

Nastaví zadanou položku jako CurrentItem v zobrazení.Sets the specified item to be the CurrentItem in the view.

MoveCurrentToFirst()

Nastaví první položku v zobrazení jako CurrentItem .Sets the first item in the view as the CurrentItem.

MoveCurrentToLast()

Nastaví poslední položku v zobrazení jako CurrentItem .Sets the last item in the view as the CurrentItem.

MoveCurrentToNext()

Nastaví položku po CurrentItem zobrazení jako CurrentItem .Sets the item after the CurrentItem in the view as the CurrentItem.

MoveCurrentToPosition(Int32)

Nastaví položku na zadaném indexu tak, aby byla CurrentItem v zobrazení.Sets the item at the specified index to be the CurrentItem in the view.

MoveCurrentToPrevious()

Nastaví položku před CurrentItem v zobrazení jako CurrentItem .Sets the item before the CurrentItem in the view as the CurrentItem.

OKToChangeCurrent()

Vrátí hodnotu, která označuje, zda může zobrazení změnit, která položka je CurrentItem .Returns a value that indicates whether the view can change which item is the CurrentItem.

OnAllowsCrossThreadChangesChanged()

Vyvolá se při AllowsCrossThreadChanges změně vlastnosti.Occurs when the AllowsCrossThreadChanges property changes.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Zastaralé.

Volá se základní třídou, která oznamuje odvozenou třídu, že CollectionChanged událost se publikovala do fronty zpráv.Called by the base class to notify the derived class that an CollectionChanged event has been posted to the message queue.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Vyvolá CollectionChanged událost.Raises the CollectionChanged event.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Vyvolá CollectionChanged událost.Raises the CollectionChanged event.

OnCurrentChanged()

Vyvolá CurrentChanged událost.Raises the CurrentChanged event.

OnCurrentChanging()

Vyvolá CurrentChanging událost, která nemůže být zrušena.Raises a CurrentChanging event that is not cancelable.

OnCurrentChanging(CurrentChangingEventArgs)

Vyvolá CurrentChanging událost se zadanými argumenty.Raises the CurrentChanging event with the specified arguments.

OnPropertyChanged(PropertyChangedEventArgs)

Vyvolá PropertyChanged událost pomocí zadaných argumentů.Raises the PropertyChanged event using the specified arguments.

PassesFilter(Object)

Vrátí hodnotu, která označuje, zda zadaná položka v příslušné kolekci patří do zobrazení.Returns a value that indicates whether the specified item in the underlying collection belongs to the view.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Při přepsání v odvozené třídě zpracovává jednu změnu vlákna uživatelského rozhraní.When overridden in a derived class, processes a single change on the UI thread.

ProcessPendingChanges()

Zajistí, že všechny čekající změny kolekce byly potvrzeny.Ensures that all pending changes to the collection have been committed.

Refresh()

Znovu vytvoří zobrazení.Re-creates the view.

RefreshOrDefer()

Aktualizuje zobrazení nebo určí, že je nutné aktualizovat zobrazení po dokončení odložení.Refreshes the view or specifies that the view needs to be refreshed when the defer cycle completes.

RefreshOverride()

Znovu vytvoří zobrazení.Re-creates the view.

SetCurrent(Object, Int32)

Nastaví zadanou položku a index jako hodnoty CurrentItem CurrentPosition vlastností a.Sets the specified item and index as the values of the CurrentItem and CurrentPosition properties.

SetCurrent(Object, Int32, Int32)

Nastaví zadanou položku a index jako hodnoty CurrentItem CurrentPosition vlastností a.Sets the specified item and index as the values of the CurrentItem and CurrentPosition properties. Tuto metodu lze volat z konstruktoru odvozené třídy.This method can be called from a constructor of a derived class.

ToString()

Vrátí řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

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

Vynutilo, aby volající vlákno měl přístup DispatcherObject .Enforces that the calling thread has access to this DispatcherObject.

(Zděděno od DispatcherObject)

Události

CollectionChanged

Vyvolá se v případě, že došlo ke změně zobrazení.Occurs when the view has changed.

CurrentChanged

Nastane po CurrentItem změně.Occurs after the CurrentItem has changed.

CurrentChanging

Vyvolá se při CurrentItem změně.Occurs when the CurrentItem is changing.

PropertyChanged

Vyvolá se v případě, že dojde ke změně hodnoty vlastnosti.Occurs when a property value has changed.

Explicitní implementace rozhraní

IEnumerable.GetEnumerator()

Vrátí IEnumerator objekt, který lze použít k vytvoření výčtu položek v zobrazení.Returns an IEnumerator object that you can use to enumerate the items in the view.

INotifyCollectionChanged.CollectionChanged

Vyvolá se v případě, že došlo ke změně zobrazení.Occurs when the view has changed.

INotifyPropertyChanged.PropertyChanged

Vyvolá se při změně hodnoty vlastnosti.Occurs when a property value changes.

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypování prvky IEnumerable na zadaný typ.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable založené na zadaném typu.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Povoluje paralelní zpracování dotazu.Enables parallelization of a query.

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable .Converts an IEnumerable to an IQueryable.

Platí pro