Cómo: Obtener la vista predeterminada de una recolección 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.

Ejemplo

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 = CType(CollectionViewSource.GetDefaultView(rootElem.DataContext), CollectionView)
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.

Vea también

Tareas

Cómo: Ordenar y agrupar datos mediante una vista en XAML

Otros recursos

Temas "Cómo..." sobre enlace de datos