Compartir a través de


Cómo: Obtener la vista predeterminada de una colección de datos

Las vistas permiten ver la misma recopilación de datos de maneras diferentes, en función de los criterios de ordenación, filtrado o agrupación. Cada colección tiene una vista predeterminada compartida, que se usa como origen de enlace real cuando un enlace especifica una colección como origen. En este ejemplo se muestra cómo obtener la vista predeterminada de una colección.

Ejemplo

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

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

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

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

Como alternativa, puede instanciar y enlazar a su propia vista de colección mediante la clase CollectionViewSource. Esta vista de colección solo se comparte mediante controles que se enlazan directamente a ella. Para obtener un ejemplo, consulte la sección "Cómo crear una vista" en Descripción general de la vinculación de datos.

Para obtener ejemplos de la funcionalidad proporcionada por una vista de colección, vea Ordenar datos en una vista, Filtrar datos en una vista y Navegar por los objetos de una vista Colección de datos.

Consulte también