Compartilhar via


Associando controles WPF a dados no Visual Studio

É possível exibir dados para usuários do aplicativo associando-se dados a controles WPF. Para criar esses controles de associação de dados, é possível arrastar itens da janela Fontes de Dados para o WPF Designer em Visual Studio. Este tópico descreve algumas das tarefas, ferramentas e classes mais comuns que é possível usar para criar aplicativos WPF de associação de dados.

Para obter informações gerais sobre como criar controles de associação de dados em Visual Studio, consulte Associando controles a dados no Visual Studio. Para obter mais informações sobre associação de dados WPF, consulte Visão geral da vinculação de dados.

Tarefas Envolvidas na Associação de Controles WPF a Dados

A tabela a seguir lista as tarefas que podem ser realizadas arrastando-se itens da janela Fontes de Dados para o WPF Designer.

Tarefa

Mais informações

Crie novos controles de associação de dados.

Associe controles existentes a dados.

Como associar controles WPF a dados no Visual Studio

Crie controles que exibam dados relacionados em uma relação pai-filho: quando o usuário seleciona um registro de dados pai em um controle, outro controle exibe dados filho relacionados ao registro selecionado.

Como exibir dados relacionados em aplicativos WPF

Crie uma tabela de pesquisa que exiba informações de uma tabela com base no valor de um campo de chave estrangeira em outra tabela.

Como criar tabelas de pesquisa em aplicativos WPF

Associe um controle a uma imagem em um banco de dados.

Como associar controles a imagens de um banco de dados

Destinos Depósitos Válidos

É possível arrastar itens na janela Fontes de Dados apenas para destinos depósitos válidos no WPF Designer. Existem dois tipos principais de destinos depósitos válidos: contêineres e controles. Um contêiner é um elemento de interface do usuário que normalmente contém controles. Por exemplo, uma grade é um contêiner, assim como uma janela.

XAML e Código Gerados

Quando você arrasta um item da janela Fontes de Dados para o WPF Designer, Visual Studio gera XAML que define um novo controle de associação de dados (ou associa um controle existente à fonte de dados). Para algumas fontes de dados, Visual Studio também gera código no arquivo code-behind que preenche a fonte de dados com dados.

A tabela a seguir lista o XAML e o código gerados por Visual Studio para cada tipo de fonte de dados na janela Fontes de Dados.

Fonte de dados

Gerar XAML que associa um controle à fonte de dados

Gerar código que preenche a fonte de dados com dados

Conjunto de dados

Sim

Sim

Modelo de Dados de Entidade

Sim

Sim

Serviço

Sim

Não

Objeto

Sim

Não

Conjuntos de dados

Quando você arrasta uma tabela ou uma coluna da janela Fontes de Dados para o designer, Visual Studio gera XAML, que faz o seguinte:

  • Adiciona o conjunto de dados e um novo CollectionViewSource aos recursos do contêiner arrastados para o item. O CollectionViewSource é um objeto que pode ser usado para navegar e exibir os dados no conjunto de dados.

  • Cria uma associação de dados para um controle. Se você arrastar o item para um controle existente no designer, o XAML associará o controle ao item. Se você arrastar o item para um contêiner, o XAML criará o controle que foi selecionado para o item arrastado e associará o controle ao item. O controle é criado dentro de um novo Grid.

Visual Studio também faz as seguintes alterações no arquivo code-behind:

  • Cria um manipulador de eventos Loaded para o elemento UI que contém o controle. O manipulador de eventos preenche a tabela com dados, recupera o CollectionViewSource dos recursos do contêiner e, em seguida, torna o primeiro item dados o item atual. Se já houver um manipulador de eventos Loaded, Visual Studio adicionará esse código ao manipulador de eventos existente.

Modelo de Dados de Entidade

Quando você arrasta uma entidade ou uma propriedade de entidade da janela Fontes de Dados para o designer, Visual Studio gera XAML, que faz o seguinte:

  • Adiciona um novo CollectionViewSource aos recursos do contêiner arrastados para o item. O CollectionViewSource é um objeto que pode ser usado para navegar e exibir os dados na entidade.

  • Cria uma associação de dados para um controle. Se você arrastar o item para um controle existente no designer, o XAML associará o controle ao item. Se você arrastar o item para um contêiner, o XAML criará o controle que foi selecionado para o item arrastado e associará o controle ao item. O controle é criado dentro de um novo Grid.

O Visual Studio também faz as seguintes alterações no arquivo code-behind:

  • Adiciona um novo método que retorna uma consulta para a entidade arrastada para o designer (ou a entidade que contém a propriedade que você arrastou para o designer). O novo método tem o nome GetEntityNameQuery, em que EntityName é o nome da entidade.

  • Cria um manipulador de eventos Loaded para o elemento UI que contém o controle. O manipulador de eventos chama o método GetEntityNameQuery para preencher a entidade com dados, recupera o CollectionViewSource dos recursos do contêiner e, em seguida, torna o primeiro item dados o item atual. Se já houver um manipulador de eventos Loaded, Visual Studio adicionará esse código ao manipulador de eventos existente.

Serviços

Quando você arrasta um objeto ou uma propriedade de serviço da janela Fontes de Dados para o designer, Visual Studio gera XAML que cria um controle de associação de dados (ou associa um controle existente ao objeto ou à propriedade). No entanto, Visual Studio não gera o código que preenche o objeto de serviço do proxy com dados. Você deve gravar esse código sozinho. Para obter um exemplo que demonstre como fazer isso, consulte Instruções passo a passo: associando controles WPF a um WCF Data Services.

O Visual Studio gera XAML, que faz o seguinte:

  • Adiciona um novo CollectionViewSource aos recursos do contêiner arrastados para o item. O CollectionViewSource é um objeto que pode ser usado para navegar e exibir os dados no objeto retornado pelo serviço.

  • Cria uma associação de dados para um controle. Se você arrastar o item para um controle existente no designer, o XAML associará o controle ao item. Se você arrastar o item para um contêiner, o XAML criará o controle que foi selecionado para o item arrastado e associará o controle ao item. O controle é criado dentro de um novo Grid.

Objetos

Quando você arrasta um objeto ou uma propriedade da janela Fontes de Dados para o designer, Visual Studio gera XAML que cria um controle de associação de dados (ou associa um controle existente ao objeto ou à propriedade). No entanto, Visual Studio não gera código para preencher o objeto com dados. Você deve gravar esse código sozinho.

Dica

As classes personalizadas devem ser públicas e ter um construtor sem parâmetros padrão.Elas não podem ser classes aninhadas com um "ponto" na sintaxe.Para obter mais informações, consulte XAML e classes personalizadas para WPF.

Visual Studio gera XAML que faz o seguinte:

  • Adiciona um novo CollectionViewSource aos recursos do contêiner arrastados para o item. O CollectionViewSource é um objeto que pode ser usado para navegar e exibir os dados no objeto.

  • Cria uma associação de dados para um controle. Se você arrastar o item para um controle existente no designer, o XAML associará o controle ao item. Se você arrastar o item para um contêiner, o XAML criará o controle que foi selecionado para o item arrastado e associará o controle ao item. O controle é criado dentro de um novo Grid.

Consulte também

Tarefas

Como associar controles WPF a dados no Visual Studio

Como criar tabelas de pesquisa em aplicativos WPF

Como exibir dados relacionados em aplicativos WPF

Instruções passo a passo: associando controles WPF a um conjunto de dados

Instruções passo a passo: associando controles WPF a um WCF Data Services

Instruções passo a passo: exibindo dados relacionados em um aplicativo WPF

Referência

Janela Fontes de Dados

Conceitos

Visão geral de fontes de dados

Outros recursos

Associando Controles WPF a um Modelo de Dados da Entidade