CollectionView Clase

Definición

Representa una vista para agrupar, ordenar, filtrar y navegar por una colección de datos.

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
Herencia
CollectionView
Derivado
Implementaciones

Comentarios

No debe crear objetos de esta clase en el código. Para crear una vista de colección para una colección que solo implemente IEnumerable, cree un CollectionViewSource objeto, agregue la colección a la Source propiedad y obtenga la vista de colección de la View propiedad .

Puede considerar una vista de colección como una capa sobre una colección de origen de enlace que le permite navegar y mostrar la colección en función de las consultas de ordenación, filtro y grupo, todo ello sin tener que manipular la propia colección de origen subyacente. Si la colección de origen implementa la INotifyCollectionChanged interfaz , los cambios que generan el CollectionChanged evento se propagan a las vistas.

Dado que una vista no cambia la colección de origen subyacente, una colección de origen puede tener varias vistas asociadas. Mediante el uso de vistas, puede mostrar los mismos datos de maneras diferentes. Por ejemplo, puede usar 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.

En las aplicaciones de WPF, todas las colecciones tienen una vista de recopilación predeterminada asociada. En lugar de trabajar directamente con la colección, el motor de enlace siempre accede a la colección a través de la vista asociada. Para obtener la vista predeterminada, use el CollectionViewSource.GetDefaultView método . Una clase interna basada en CollectionView es la vista predeterminada de las colecciones que implementan solo IEnumerable. ListCollectionView es la vista predeterminada de las colecciones que implementan IList. BindingListCollectionView es la vista predeterminada de las colecciones que implementan IBindingListView o IBindingList.

Como alternativa, puedes crear una vista de tu colección en Lenguaje xaml (Extensible Application Markup Language) mediante la clase y, a continuación, enlazar el CollectionViewSource control a esa vista. La CollectionViewSource clase es la representación XAML de la CollectionView clase . Para obtener un ejemplo, consulta Cómo: Ordenar y agrupar datos mediante una vista en XAML.

Para obtener más información, vea "Enlace a colecciones" en Introducción al enlace de datos.

Para establecer una vista en XAML, use la CollectionViewSource clase . CollectionViewSource es la representación XAML de la CollectionView clase y expone los miembros más usados de la CollectionView clase.

Constructores

CollectionView(IEnumerable)

Inicializa una nueva instancia de la clase CollectionView que representa una vista de la colección especificada.

Propiedades

AllowsCrossThreadChanges

Obtiene un valor que indica si un subproceso distinto del que creó CollectionView puede cambiar el objeto SourceCollection.

CanFilter

Obtiene un valor que indica si la vista admite el filtrado.

CanGroup

Obtiene un valor que indica si la vista admite el agrupamiento.

CanSort

Obtiene un valor que indica si la vista admite la ordenación.

Comparer

Devuelve un objeto que puede usar para comparar los elementos de la vista.

Count

Obtiene el número de registros de la vista.

Culture

Obtiene o establece la información de referencia cultural que se va a usar durante la ordenación.

CurrentItem

Obtiene el elemento actual de la vista.

CurrentPosition

Obtiene la posición ordinal de la propiedad CurrentItem dentro de la vista (opcionalmente ordenada y filtrada).

Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.

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

GroupDescriptions

Obtiene una colección de objetos GroupDescription que describe cómo se agrupan los elementos de la colección en la vista.

Groups

Obtiene una colección de los grupos de nivel superior que se crea basándose en la propiedad GroupDescriptions.

IsCurrentAfterLast

Obtiene un valor que indica si la propiedad CurrentItem de la vista está más allá del final de la colección.

IsCurrentBeforeFirst

Obtiene un valor que indica si la propiedad CurrentItem de la vista está antes del comienzo de la colección.

IsCurrentInSync

Obtiene un valor que indica si la propiedad CurrentItem está en la propiedad CurrentPosition.

IsDynamic

Obtiene un valor que indica si la colección subyacente proporciona notificaciones de cambios.

IsEmpty

Obtiene un valor que indica si la vista resultante (filtrada) está vacía.

IsInUse

Obtiene un valor que indica si algún objeto está suscribiendo a los eventos de este objeto CollectionView.

IsRefreshDeferred

Obtiene un valor que indica si hay un método DeferRefresh() pendiente en uso.

NeedsRefresh

Obtiene un valor que indica si la vista se debe actualizar.

NewItemPlaceholder

Obtiene el objeto que está en la colección para representar un nuevo elemento.

SortDescriptions

Obtiene una colección de estructuras SortDescription que describe cómo se ordenan los elementos de la colección en la vista.

SourceCollection

Devuelve la colección sin filtrar subyacente.

UpdatedOutsideDispatcher

Obtiene un valor que indica si ha sido necesario actualizar el registro de cambios porque se ha recibido una CollectionChanged notificación en un subproceso diferente sin entrar primero en el distribuidor de subprocesos de la interfaz de usuario (UI).

Métodos

CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.

(Heredado de DispatcherObject)
ClearChangeLog()
Obsoletos.

Borra los cambios pendientes del registro de cambios.

ClearPendingChanges()

Borra los cambios sin procesar de la colección.

Contains(Object)

Devuelve un valor que indica si el elemento especificado pertenece a la vista.

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.

DetachFromSourceCollection()

Quita la referencia a la colección subyacente del CollectionView.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetEnumerator()

Devuelve un objeto que puede usar para enumerar los elementos de la vista.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetItemAt(Int32)

Recupera el elemento en el índice de base cero especificado de la vista.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IndexOf(Object)

Devuelve el índice en el que se encuentra el elemento especificado.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MoveCurrentTo(Object)

Establece que el elemento especificado sea la propiedad CurrentItem de la vista.

MoveCurrentToFirst()

Establece el primer elemento de la vista como CurrentItem.

MoveCurrentToLast()

Establece el último elemento de la vista como CurrentItem.

MoveCurrentToNext()

Establece el elemento situado después de CurrentItem en la vista como CurrentItem.

MoveCurrentToPosition(Int32)

Establece que el elemento en el índice especificado sea la propiedad CurrentItem de la vista.

MoveCurrentToPrevious()

Establece el elemento situado delante de la propiedad CurrentItem de la vista como la propiedad CurrentItem.

OKToChangeCurrent()

Devuelve un valor que indica si la vista puede cambiar el elemento que es la propiedad CurrentItem.

OnAllowsCrossThreadChangesChanged()

Se produce cuando cambia la propiedad AllowsCrossThreadChanges.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Obsoletos.

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.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Genera el evento CollectionChanged.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Genera el evento CollectionChanged.

OnCurrentChanged()

Genera el evento CurrentChanged.

OnCurrentChanging()

Provoca un evento CurrentChanging que no se puede cancelar.

OnCurrentChanging(CurrentChangingEventArgs)

Provoca el evento CurrentChanging con los argumentos especificados.

OnPropertyChanged(PropertyChangedEventArgs)

Provoca el evento PropertyChanged utilizando los argumentos especificados.

PassesFilter(Object)

Devuelve un valor que indica si el elemento especificado de la colección subyacente pertenece a la vista.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Cuando se reemplaza en una clase derivada, procesa un único cambio en el subproceso de la interfaz de usuario.

ProcessPendingChanges()

Garantiza que todos los cambios pendientes a la colección se han confirmado.

Refresh()

Vuelve a crear la vista.

RefreshOrDefer()

Actualiza la vista o especifica que se debe actualizar cuando termine el ciclo de aplazamiento.

RefreshOverride()

Vuelve a crear la vista.

SetCurrent(Object, Int32)

Establece el elemento y el índice especificados como valores de las propiedades CurrentItem y CurrentPosition.

SetCurrent(Object, Int32, Int32)

Establece el elemento y el índice especificados como valores de las propiedades CurrentItem y CurrentPosition. Se puede llamar a este método desde un constructor de una clase derivada.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.

(Heredado de DispatcherObject)

Eventos

CollectionChanged

Se produce cuando la vista ha cambiado.

CurrentChanged

Se produce después de que haya cambiado la propiedad CurrentItem.

CurrentChanging

Se produce cuando cambia la propiedad CurrentItem.

PropertyChanged

Se produce cuando cambia el valor de una propiedad.

Implementaciones de interfaz explícitas

IEnumerable.GetEnumerator()

Devuelve un objeto IEnumerator que puede usar para enumerar los elementos de la vista.

INotifyCollectionChanged.CollectionChanged

Se produce cuando la vista ha cambiado.

INotifyPropertyChanged.PropertyChanged

Tiene lugar cuando cambia un valor de propiedad.

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.

Se aplica a