CollectionView Clase

Definición

Representa una vista para agrupar, ordenar, filtrar y navegar por una colección de datos.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 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
Public Class CollectionView
Inherits DispatcherObject
Implements ICollectionView, IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged
Herencia
CollectionView
Derivado
Implementaciones

Comentarios

No debe crear objetos de esta clase en el código.You should not create objects of this class in your code. Para crear una vista de colección para una colección que solo implementa IEnumerable, cree un CollectionViewSource objeto, agregue la colección a la Source propiedad y obtenga la vista de colección de la View propiedad.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.

Una vista de colección se puede considerar como una capa encima de una colección de orígenes de enlace que le permite navegar y mostrar la colección en función de las consultas de ordenación, filtrado y de grupo, sin tener que manipular la propia colección de origen subyacente.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. Si la colección de origen implementa la INotifyCollectionChanged interfaz, los cambios que provocan CollectionChanged el evento se propagan a las vistas.If the source collection implements the INotifyCollectionChanged interface, the changes that raise the CollectionChanged event are propagated to the views.

Dado que una vista no cambia la colección de origen subyacente, una colección de origen puede tener varias vistas asociadas.Because a view does not change the underlying source collection, a source collection can have multiple views associated with it. Mediante el uso de vistas, puede mostrar los mismos datos de maneras diferentes.By using views, you can display the same data in different ways. Por ejemplo, puede utilizar dos vistas en una colección de Task objetos para mostrar las tareas ordenadas por prioridad en una parte de la página y agrupadas por área en otra parte de la página.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.

En WPFWPF las aplicaciones de, todas las colecciones tienen una vista de colección predeterminada asociada.In WPFWPF applications, all collections have an associated default collection view. En lugar de trabajar directamente con la colección, el motor de enlace siempre obtiene acceso a la colección a través de la vista asociada.Rather than working with the collection directly, the binding engine always accesses the collection through the associated view. Para obtener la vista predeterminada, use el CollectionViewSource.GetDefaultView método.To get the default view, use the CollectionViewSource.GetDefaultView method. Una clase interna basada en CollectionView es la vista predeterminada para las colecciones que solo IEnumerableimplementan.An internal class based on CollectionView is the default view for collections that implement only IEnumerable. ListCollectionViewes la vista predeterminada para las colecciones que IListimplementan.ListCollectionView is the default view for collections that implement IList. BindingListCollectionViewes la vista predeterminada para las colecciones que IBindingListView implementan o IBindingList.BindingListCollectionView is the default view for collections that implement IBindingListView or IBindingList.

Como alternativa, puede crear una vista de la colección en Lenguaje XAML (Extensible Application Markup Language)Extensible Application Markup Language (XAML) mediante la CollectionViewSource clase y, a continuación, enlazar el control a esa vista.Alternatively, you can create a view of your collection in Lenguaje XAML (Extensible Application Markup Language)Extensible Application Markup Language (XAML) by using the CollectionViewSource class and then bind your control to that view. La CollectionViewSource clase es la XAMLXAML representación de la CollectionView clase.The CollectionViewSource class is the XAMLXAML representation of the CollectionView class. Como ejemplo, vea Cómo: Ordenar y agrupar datos mediante una vista enXAML.For an example, see How to: Sort and Group Data Using a View in XAML.

Para obtener más información, vea "enlazar a colecciones" en información general sobre el enlace de datos.For more information, see "Binding to Collections" in Data Binding Overview.

Para establecer una vista en XAMLXAML, utilice la CollectionViewSource clase.To set a view in XAMLXAML, use the CollectionViewSource class. CollectionViewSourcees la XAMLXAML representación de la CollectionView clase y expone los miembros de la CollectionView clase que se usan con más frecuencia.CollectionViewSource is the XAMLXAML representation of the CollectionView class, and it exposes the most commonly used members of the CollectionView class.

Constructores

CollectionView(IEnumerable)

Inicializa una nueva instancia de la clase CollectionView que representa una vista de la colección especificada.Initializes a new instance of the CollectionView class that represents a view of the specified collection.

Propiedades

AllowsCrossThreadChanges

Obtiene un valor que indica si un subproceso distinto del que creó CollectionView puede cambiar el objeto SourceCollection.Gets a value that indicates whether a thread other than the one that created the CollectionView can change the SourceCollection.

CanFilter

Obtiene un valor que indica si la vista admite el filtrado.Gets a value that indicates whether the view supports filtering.

CanGroup

Obtiene un valor que indica si la vista admite el agrupamiento.Gets a value that indicates whether the view supports grouping.

CanSort

Obtiene un valor que indica si la vista admite la ordenación.Gets a value that indicates whether the view supports sorting.

Comparer

Devuelve un objeto que puede usar para comparar los elementos de la vista.Returns an object that you can use to compare items in the view.

Count

Obtiene el número de registros de la vista.Gets the number of records in the view.

Culture

Obtiene o establece la información de referencia cultural que se va a usar durante la ordenación.Gets or sets the culture information to use during sorting.

CurrentItem

Obtiene el elemento actual de la vista.Gets the current item in the view.

CurrentPosition

Obtiene la posición ordinal de la propiedad CurrentItem dentro de la vista (opcionalmente ordenada y filtrada).Gets the ordinal position of the CurrentItem within the (optionally sorted and filtered) view.

Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Heredado de DispatcherObject)
Filter

Obtiene o establece un método usado para determinar si un elemento es adecuado para su inclusión en la vista.Gets or sets a method used to determine if an item is suitable for inclusion in the view.

GroupDescriptions

Obtiene una colección de objetos GroupDescription que describe cómo se agrupan los elementos de la colección en la vista.Gets a collection of GroupDescription objects that describes how the items in the collection are grouped in the view.

Groups

Obtiene una colección de los grupos de nivel superior que se crea basándose en la propiedad GroupDescriptions.Gets a collection of the top-level groups that is constructed based on the GroupDescriptions property.

IsCurrentAfterLast

Obtiene un valor que indica si la propiedad CurrentItem de la vista está más allá del final de la colección.Gets a value that indicates whether the CurrentItem of the view is beyond the end of the collection.

IsCurrentBeforeFirst

Obtiene un valor que indica si la propiedad CurrentItem de la vista está antes del comienzo de la colección.Gets a value that indicates whether the CurrentItem of the view is before the beginning of the collection.

IsCurrentInSync

Obtiene un valor que indica si la propiedad CurrentItem está en la propiedad CurrentPosition.Gets a value that indicates whether the CurrentItem is at the CurrentPosition.

IsDynamic

Obtiene un valor que indica si la colección subyacente proporciona notificaciones de cambios.Gets a value that indicates whether the underlying collection provides change notifications.

IsEmpty

Obtiene un valor que indica si la vista resultante (filtrada) está vacía.Gets a value that indicates whether the resulting (filtered) view is empty.

IsInUse

Obtiene un valor que indica si algún objeto está suscribiendo a los eventos de este objeto CollectionView.Gets a value that indicates whether any object is subscribing to the events of this CollectionView.

IsRefreshDeferred

Obtiene un valor que indica si hay un método DeferRefresh() pendiente en uso.Gets a value that indicates whether there is an outstanding DeferRefresh() in use.

NeedsRefresh

Obtiene un valor que indica si la vista se debe actualizar.Gets a value that indicates whether the view needs to be refreshed.

NewItemPlaceholder

Obtiene el objeto que está en la colección para representar un nuevo elemento.Gets the object that is in the collection to represent a new item.

SortDescriptions

Obtiene una colección de estructuras SortDescription que describe cómo se ordenan los elementos de la colección en la vista.Gets a collection of SortDescription structures that describes how the items in the collection are sorted in the view.

SourceCollection

Devuelve la colección sin filtrar subyacente.Returns the underlying unfiltered collection.

UpdatedOutsideDispatcher

Obtiene un valor que indica si ha sido necesario actualizar el registro de cambios porque se ha recibido una notificación del evento CollectionChanged en un subproceso diferente sin especificar primero el distribuidor de subprocesos de interfaz de usuario (UI)user interface (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 interfaz de usuario (UI)user interface (UI) thread dispatcher.

Métodos

CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Heredado de DispatcherObject)
ClearChangeLog()

Borra los cambios pendientes del registro de cambios.Clears any pending changes from the change log.

ClearPendingChanges()

Borra los cambios sin procesar de la colección.Clears unprocessed changed to the collection.

Contains(Object)

Devuelve un valor que indica si el elemento especificado pertenece a la vista.Returns a value that indicates whether the specified item belongs to the view.

DeferRefresh()

Especifica un ciclo de aplazamiento que puede usar para fusionar mediante combinación los cambios en la vista y retrasar la actualización automática.Enters a defer cycle that you can use to merge changes to the view and delay automatic refresh.

DetachFromSourceCollection()

Quita la referencia a la colección subyacente del CollectionView.Removes the reference to the underlying collection from the CollectionView.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetEnumerator()

Devuelve un objeto que puede usar para enumerar los elementos de la vista.Returns an object that you can use to enumerate the items in the view.

GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetItemAt(Int32)

Recupera el elemento en el índice de base cero especificado de la vista.Retrieves the item at the specified zero-based index in the view.

GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
IndexOf(Object)

Devuelve el índice en el que se encuentra el elemento especificado.Returns the index at which the specified item is located.

MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
MoveCurrentTo(Object)

Establece que el elemento especificado sea la propiedad CurrentItem de la vista.Sets the specified item to be the CurrentItem in the view.

MoveCurrentToFirst()

Establece el primer elemento de la vista como la propiedad CurrentItem.Sets the first item in the view as the CurrentItem.

MoveCurrentToLast()

Establece el último elemento de la vista como la propiedad CurrentItem.Sets the last item in the view as the CurrentItem.

MoveCurrentToNext()

Establece el elemento situado después de CurrentItem de la vista como CurrentItem.Sets the item after the CurrentItem in the view as the CurrentItem.

MoveCurrentToPosition(Int32)

Establece que el elemento en el índice especificado sea la propiedad CurrentItem de la vista.Sets the item at the specified index to be the CurrentItem in the view.

MoveCurrentToPrevious()

Establece el elemento situado delante de CurrentItem de la vista como la propiedad CurrentItem.Sets the item before the CurrentItem in the view as the CurrentItem.

OKToChangeCurrent()

Devuelve un valor que indica si la vista puede cambiar el elemento que es la propiedad CurrentItem.Returns a value that indicates whether the view can change which item is the CurrentItem.

OnAllowsCrossThreadChangesChanged()

Se produce cuando cambia la propiedad AllowsCrossThreadChanges.Occurs when the AllowsCrossThreadChanges property changes.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)

La clase base llama a este método para notificar a la clase derivada que se ha enviado un evento CollectionChanged a la cola de mensajes.Called by the base class to notify the derived class that an CollectionChanged event has been posted to the message queue.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Genera el evento CollectionChanged.Raises the CollectionChanged event.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Genera el evento CollectionChanged.Raises the CollectionChanged event.

OnCurrentChanged()

Genera el evento CurrentChanged.Raises the CurrentChanged event.

OnCurrentChanging()

Provoca un evento CurrentChanging que no se puede cancelar.Raises a CurrentChanging event that is not cancelable.

OnCurrentChanging(CurrentChangingEventArgs)

Provoca el evento CurrentChanging con los argumentos especificados.Raises the CurrentChanging event with the specified arguments.

OnPropertyChanged(PropertyChangedEventArgs)

Provoca el evento PropertyChanged utilizando los argumentos especificados.Raises the PropertyChanged event using the specified arguments.

PassesFilter(Object)

Devuelve un valor que indica si el elemento especificado de la colección subyacente pertenece a la vista.Returns a value that indicates whether the specified item in the underlying collection belongs to the view.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Cuando se reemplaza en una clase derivada, procesa un solo cambio en el subproceso IUUI.When overridden in a derived class, processes a single change on the IUUI thread.

ProcessPendingChanges()

Garantiza que todos los cambios pendientes a la colección se han confirmado.Ensures that all pending changes to the collection have been committed.

Refresh()

Vuelve a crear la vista.Re-creates the view.

RefreshOrDefer()

Actualiza la vista o especifica que se debe actualizar cuando termine el ciclo de aplazamiento.Refreshes the view or specifies that the view needs to be refreshed when the defer cycle completes.

RefreshOverride()

Vuelve a crear la vista.Re-creates the view.

SetCurrent(Object, Int32)

Establece el elemento y el índice especificados como valores de las propiedades CurrentItem y CurrentPosition.Sets the specified item and index as the values of the CurrentItem and CurrentPosition properties.

SetCurrent(Object, Int32, Int32)

Establece el elemento y el índice especificados como valores de las propiedades CurrentItem y CurrentPosition.Sets the specified item and index as the values of the CurrentItem and CurrentPosition properties. Se puede llamar a este método desde un constructor de una clase derivada.This method can be called from a constructor of a derived class.

ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Heredado de DispatcherObject)

Eventos

CollectionChanged

Se produce cuando ha cambiado la vista.Occurs when the view has changed.

CurrentChanged

Se produce después de que haya cambiado la propiedad CurrentItem.Occurs after the CurrentItem has changed.

CurrentChanging

Se produce cuando cambia la propiedad CurrentItem.Occurs when the CurrentItem is changing.

PropertyChanged

Se produce cuando ha cambiado el valor de propiedad.Occurs when a property value has changed.

Implementaciones de interfaz explícitas

IEnumerable.GetEnumerator()

Devuelve un objeto IEnumerator que puede usar para enumerar los elementos de la vista.Returns an IEnumerator object that you can use to enumerate the items in the view.

INotifyCollectionChanged.CollectionChanged

Se produce cuando ha cambiado la vista.Occurs when the view has changed.

INotifyPropertyChanged.PropertyChanged

Tiene lugar cuando cambia un valor de propiedad.Occurs when a property value changes.

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.Enables parallelization of a query.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

Se aplica a