¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo

CollectionView (Clase)

Actualización: Julio de 2008

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

Espacio de nombres:  System.Windows.Data
Ensamblado:  PresentationFramework (en PresentationFramework.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/xaml/presentation

public class CollectionView : DispatcherObject, 
	ICollectionView, IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged
public class CollectionView extends DispatcherObject implements ICollectionView, 
	IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged
public class CollectionView extends DispatcherObject implements ICollectionView, IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged

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

No debería crear objetos de esta clase en el código. Para crear una vista de colección para una colección que sólo implementa IEnumerable, cree un objeto CollectionViewSource, agregue su colección a la propiedad Source y obtenga la vista de colección de la propiedad View.

Puede pensar en una vista de colección como en un nivel situado en la parte superior de una colección de origen de enlace que le permite navegar y mostrar la colección basándose en la ordenación, el filtrado y las consultas de grupo, todo ello sin tener que manipular la propia colección de origen subyacente. Si la colección de origen implementa la interfaz INotifyCollectionChanged, los cambios que provocan el evento CollectionChanged se propagan a las vistas.

Puesto que una vista no cambia la colección de origen subyacente, una colección de origen puede tener varias vistas asociadas a ella. Con las vistas, puede mostrar los mismos datos de formas diferentes. Por ejemplo, puede utilizar dos vistas en una colección de objetos Task para mostrar las tareas ordenadas por prioridad en una parte de la página y agrupadas por área en otra.

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

También puede crear una vista de la colección en Lenguaje de marcado de aplicaciones extensible (XAML) utilizando la clase CollectionViewSource y, a continuación, enlazar el control a esta vista. La clase CollectionViewSource es la representación en XAML de la clase CollectionView. Para obtener un ejemplo, vea Cómo: Ordenar y agrupar datos mediante una vista en XAML.

Para obtener más información, vea "Enlazar a colecciones" en Información general sobre el enlace de datos.

Las vistas permiten ver la misma recolección de datos de maneras diferentes, según los criterios de ordenación, filtrado o agrupación. Cada recolección tiene una vista predeterminada compartida, que se utiliza como origen de enlace cuando en el enlace se especifica una recolección como origen. En este ejemplo se muestra cómo obtener la vista predeterminada de una recolección.

Para crear la vista, se necesita una referencia de objeto a la recolección. Este objeto de datos se puede obtener haciendo referencia al propio objeto subyacente, obteniendo el contexto de datos, obteniendo una propiedad del origen de datos u obteniendo una propiedad del enlace. En este ejemplo se muestra cómo obtener la propiedad DataContext de un objeto de datos y utilizarla para abrir directamente la vista predeterminada de esta recolección.

myCollectionView = (CollectionView)
    CollectionViewSource.GetDefaultView(rootElem.DataContext);


En este ejemplo el elemento raíz es un objeto StackPanel. La propiedad DataContext se establece en myDataSource, que hace referencia a un proveedor de datos que es una colección ObservableCollection<T> de objetos Order.

<StackPanel.DataContext>
  <Binding Source="{StaticResource myDataSource}"/>
</StackPanel.DataContext>


Otra posibilidad es crear instancias y enlazar a su propia vista de recolección mediante la clase CollectionViewSource. Esta vista de recolección sólo la comparten los controles que se enlazan a ella directamente. Para obtener un ejemplo, consulte cómo crear una sección de vista en Información general sobre el enlace de datos.

Para obtener ejemplos de la funcionalidad proporcionada por una vista de colección, consulte Cómo: Ordenar datos en una vista, Cómo: Filtrar datos en una vista y Cómo: Navegar por los objetos de una colección de datos mediante CollectionView.

Más código

Cómo: Navegar por los objetos de una colección de datos mediante CollectionViewLas vistas permiten ver la misma recolección de datos de maneras diferentes, según cómo se ordene, filtre o agrupe. Las vistas también proporcionan el concepto de indicador de registro actual y habilitan el movimiento del puntero. En este ejemplo se muestra cómo obtener el objeto actual y se navega por los objetos de una recolección de datos utilizando la funcionalidad proporcionada en la clase CollectionView.
Cómo: Filtrar datos en una vistaEn este ejemplo se muestra cómo filtrar los datos en una vista.
Cómo: Ordenar datos en una vistaEn este ejemplo se describe cómo ordenar los datos en una vista.
Cómo: Ordenar y agrupar datos mediante una vista en XAMLEn este ejemplo se muestra cómo crear una vista de una recolección de datos en Lenguaje de marcado de aplicaciones extensible (XAML). Las vistas aportan las funcionalidades de agrupar, ordenar, filtrar y la noción de un elemento actual.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0

Fecha

Historial

Motivo

Julio de 2008

Se han agregado nuevos miembros: la propiedad NewItemPlaceholder y el método SetCurrent.

Cambio de características de SP1.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft