CollectionView Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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 orígenes 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 la colección en Lenguaje de marcado extensible de aplicaciones (XAML) 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, consulte "Vinculación con colecciones" en Información general sobre la vinculación 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
| Nombre | Description |
|---|---|
| CollectionView(IEnumerable) |
Inicializa una nueva instancia de la CollectionView clase que representa una vista de la colección especificada. |
Propiedades
| Nombre | Description |
|---|---|
| AllowsCrossThreadChanges |
Obtiene un valor que indica si un subproceso distinto del que creó CollectionView puede cambiar .SourceCollection |
| CanFilter |
Obtiene un valor que indica si la vista admite el filtrado. |
| CanGroup |
Obtiene un valor que indica si la vista admite la agrupación. |
| 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 dentro CurrentItem de la vista (opcionalmente ordenada y filtrada). |
| Dispatcher |
Obtiene el objeto al que DispatcherDispatcherObject está asociado. (Heredado de DispatcherObject) |
| Filter |
Obtiene o establece un método utilizado para determinar si un elemento es adecuado para su inclusión en la vista. |
| GroupDescriptions |
Obtiene una colección de GroupDescription objetos 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 construidos en función de la GroupDescriptions propiedad . |
| IsCurrentAfterLast |
Obtiene un valor que indica si el CurrentItem de la vista está más allá del final de la colección. |
| IsCurrentBeforeFirst |
Obtiene un valor que indica si el CurrentItem de la vista está antes del principio de la colección. |
| IsCurrentInSync |
Obtiene un valor que indica si CurrentItem está en .CurrentPosition |
| IsDynamic |
Obtiene un valor que indica si la colección subyacente proporciona notificaciones de cambio. |
| IsEmpty |
Obtiene un valor que indica si la vista resultante (filtrada) está vacía. |
| IsInUse |
Obtiene un valor que indica si algún objeto se suscribe a los eventos de este CollectionViewobjeto . |
| IsRefreshDeferred |
Obtiene un valor que indica si hay un pendiente DeferRefresh() en uso. |
| NeedsRefresh |
Obtiene un valor que indica si se debe actualizar la vista. |
| NewItemPlaceholder |
Obtiene el objeto que se encuentra en la colección para representar un nuevo elemento. |
| SortDescriptions |
Obtiene una colección de SortDescription estructuras que describe cómo se ordenan los elementos de la colección en la vista. |
| SourceCollection |
Devuelve la colección no filtrada 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 escribir primero el distribuidor de subprocesos de la interfaz de usuario (UI). |
Métodos
| Nombre | Description |
|---|---|
| CheckAccess() |
Determina si el subproceso que llama tiene acceso a este DispatcherObject. (Heredado de DispatcherObject) |
| ClearChangeLog() |
Obsoletos.
Borra los cambios pendientes del registro de cambios. |
| ClearPendingChanges() |
Borra los cambios no procesados en 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 combinar los cambios en la vista y retrasar la actualización automática. |
| DetachFromSourceCollection() |
Quita la referencia a la colección subyacente de .CollectionView |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| GetEnumerator() |
Devuelve un objeto que puede usar para enumerar los elementos de la vista. |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetItemAt(Int32) |
Recupera el elemento en el índice de base cero especificado en 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 Objectactual. (Heredado de Object) |
| MoveCurrentTo(Object) |
Establece el elemento especificado como en CurrentItem 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 después de en CurrentItem la vista como CurrentItem. |
| MoveCurrentToPosition(Int32) |
Establece el elemento en el índice especificado para que sea en CurrentItem la vista. |
| MoveCurrentToPrevious() |
Establece el elemento antes de en CurrentItem la vista como CurrentItem. |
| OKToChangeCurrent() |
Devuelve un valor que indica si la vista puede cambiar qué elemento es .CurrentItem |
| OnAllowsCrossThreadChangesChanged() |
Se produce cuando cambia la AllowsCrossThreadChanges propiedad. |
| OnBeginChangeLogging(NotifyCollectionChangedEventArgs) |
Obsoletos.
Llamada por la clase base para notificar a la clase derivada que se ha publicado un CollectionChanged evento en la cola de mensajes. |
| OnCollectionChanged(NotifyCollectionChangedEventArgs) |
Genera el evento CollectionChanged. |
| OnCollectionChanged(Object, NotifyCollectionChangedEventArgs) |
Genera el evento CollectionChanged. |
| OnCurrentChanged() |
Genera el evento CurrentChanged. |
| OnCurrentChanging() |
Genera un CurrentChanging evento que no se puede cancelar. |
| OnCurrentChanging(CurrentChangingEventArgs) |
Genera el CurrentChanging evento con los argumentos especificados. |
| OnPropertyChanged(PropertyChangedEventArgs) |
Genera el PropertyChanged evento mediante 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 invalida en una clase derivada, procesa un único cambio en el subproceso de la interfaz de usuario. |
| ProcessPendingChanges() |
Garantiza que se han confirmado todos los cambios pendientes en la colección. |
| Refresh() |
Vuelva a crear la vista. |
| RefreshOrDefer() |
Actualiza la vista o especifica que la vista debe actualizarse cuando se complete el ciclo de aplazamiento. |
| RefreshOverride() |
Vuelva a crear la vista. |
| SetCurrent(Object, Int32, Int32) |
Establece el elemento y el índice especificados como los valores de las CurrentItem propiedades y CurrentPosition . Se puede llamar a este método desde un constructor de una clase derivada. |
| SetCurrent(Object, Int32) |
Establece el elemento y el índice especificados como los valores de las CurrentItem propiedades y CurrentPosition . |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
| VerifyAccess() |
Exige que el subproceso de llamada tenga acceso a este DispatcherObject. (Heredado de DispatcherObject) |
Eventos
| Nombre | Description |
|---|---|
| CollectionChanged |
Se produce cuando la vista ha cambiado. |
| CurrentChanged |
Se produce después de CurrentItem que haya cambiado. |
| CurrentChanging |
Se produce cuando CurrentItem cambia . |
| PropertyChanged |
Se produce cuando ha cambiado un valor de propiedad. |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IEnumerable.GetEnumerator() |
Devuelve un IEnumerator objeto que puede usar para enumerar los elementos de la vista. |
| INotifyCollectionChanged.CollectionChanged |
Se produce cuando la vista ha cambiado. |
| INotifyPropertyChanged.PropertyChanged |
Se produce cuando un valor de propiedad cambia. |
Métodos de extensión
| Nombre | Description |
|---|---|
| AsParallel(IEnumerable) |
Habilita la paralelización de una consulta. |
| AsQueryable(IEnumerable) |
Convierte un IEnumerable en un IQueryable. |
| Cast<TResult>(IEnumerable) |
Convierte los elementos de un IEnumerable al tipo especificado. |
| OfType<TResult>(IEnumerable) |
Filtra los elementos de un IEnumerable en función de un tipo especificado. |