Compartilhar via


Como obter a exibição padrão de uma coleção de dados

As exibições permitem que a mesma coleta de dados seja exibida de maneiras diferentes, dependendo dos critérios de classificação, filtragem ou agrupamento. Cada coleção tem uma exibição padrão compartilhada, que é usada como a fonte de associação real quando uma associação especifica uma coleção como sua origem. Este exemplo mostra como obter a exibição padrão de uma coleção.

Exemplo

Para criar a visão, você precisa de uma referência de objeto à coleção. Esse objeto de dados pode ser obtido referenciando seu próprio objeto code-behind, obtendo o contexto de dados, obtendo uma propriedade da fonte de dados ou obtendo uma propriedade da associação. Este exemplo mostra como obter o DataContext de um objeto de dados e usá-lo para obter diretamente a exibição padrão de coleção para esta coleção.

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

Neste exemplo, o elemento raiz é um StackPanel. O DataContext está configurado para myDataSource, que se refere a um provedor de dados de objetos ObservableCollection<T>.

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

Como alternativa, você pode criar uma instância e associar-se à sua própria exibição de coleção usando a classe CollectionViewSource. Essa exibição de coleção é compartilhada apenas por controles que se associam diretamente a ela. Para obter um exemplo, consulte a seção Como criar uma exibição na visão geral da associação de dados.

Para obter exemplos da funcionalidade fornecida por uma exibição de coleção, consulte Classificar dados em uma exibição, filtrar dados em uma exibição e navegar pelos objetos em um Data CollectionView.

Consulte também