Compartilhar via


Controles do WPF de ligação a dados em Visual Studio

Você pode exibir dados aos usuários do seu aplicativo pela vinculação de dados para WPF controles. Para criar esses controles ligados a dados, você pode arrastar itens da Fontes de dados janela para o WPF Designer em Visual Studio. Este tópico descreve algumas das tarefas, ferramentas e classes que você pode usar para criar a ligação de dados mais comuns WPF aplicativos.

Para obter informações gerais sobre como criar controles vinculados a dados em Visual Studio, consulte Controles de vinculação de dados de Visual Studio. Para obter mais informações sobre WPF dados de ligação, consulte Revisão de Associação de Dados.

Tarefas envolvidas na ligação a controles do WPF a dados

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

Tarefa 

Obter mais informações

Crie novas data-bound controls.

Vincule controles existentes a dados.

Como: Vincular controles WPF dados em Visual Studio

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

Como: Exibir dados relacionados em aplicativos WPF

Criar um tabela de pesquisa que exibe informações de uma tabela com base no valor de um campo de chave externa na outra tabela.

Como: Criar tabelas de pesquisa em aplicativos WPF

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

Como: Vincular controles a imagens de um banco de dados.

Alvos para derrubar válido

Você pode arrastar itens na Fontes de dados janela apenas para destinos de soltar válidas na WPF Designer. Há dois tipos principais de alvos para derrubar válido: controles e contêineres. Um recipiente é um elemento de interface do usuário que normalmente contém controles. Por exemplo, uma grade é um recipiente e, portanto, é uma janela.

XAML e o código gerado

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

A tabela a seguir listas os XAML e o código que Visual Studio gera para cada tipo de fonte de dados a Fontes de dados janela.

Fonte de dados

Gerar XAML que vincula um controle da fonte de dados

Gerar código preenche a fonte de dados com dados

DataSet

Sim

Sim

Modelo de Dados de Entidade

Sim

Sim

Serviço

Sim

Não

Object

Sim

Não

Conjuntos de Dados

Quando você arrasta uma tabela ou coluna a partir do Fontes de dados janela para o designer Visual Studio gera XAML que faz o seguinte:

  • Adiciona o dataset e um novo CollectionViewSource os recursos do recipiente, você arrastou o item. O CollectionViewSource é um objeto que pode ser usado para navegar e exibir os dados no dataset.

  • Cria uma vinculação de dados para um controle. Se você arrastar o item a um controle existente no designer, o XAML vincula o controle para o item. Se você arrastar o item a um recipiente, o XAML cria o controle que foi selecionado para o item arrastado e vincular o controle ao item. O controle é criado dentro de uma nova Grid.

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

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

Modelos de dados de entidade

Quando você arrasta uma entidade ou uma propriedade de entidade a partir de Fontes de dados janela para o designer Visual Studio gera XAML que faz o seguinte:

  • Adiciona um novo CollectionViewSource os recursos do recipiente, você arrastou o item. O CollectionViewSource é um objeto que pode ser usado para navegar e exibir os dados na entidade.

  • Cria uma vinculação de dados para um controle. Se você arrastar o item a um controle existente no designer, o XAML vincula o controle para o item. Se você arrastar o item a um recipiente, o XAML cria o controle que foi selecionado para o item arrastado e vincular o controle ao item. O controle é criado dentro de uma nova Grid.

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 que você arrastou para o designer (ou a entidade que contém a propriedade que você arrastou para o designer). O novo método tem o nome de GetEntityNamea consulta, onde EntityName é o nome da entidade.

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

Serviços

Quando você arrasta um objeto de serviço ou a propriedade a partir de Fontes de dados janela para o designer Visual Studio gera XAML que cria um controle vinculado a dados (ou vincula um controle existente para o objeto ou propriedade). No entanto, Visual Studio não gerar o código que preenche o objeto de serviço de proxy com dados. Você deve escrever esse código sozinho. Para obter um exemplo que demonstra como fazer isso, consulte Demonstra Passo a passo: A vinculação de controles do WPF para um serviço de dados do WCF.

Visual Studio gera o XAML que faz o seguinte:

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

  • Cria uma vinculação de dados para um controle. Se você arrastar o item a um controle existente no designer, o XAML vincula o controle para o item. Se você arrastar o item a um recipiente, o XAML cria o controle que foi selecionado para o item arrastado e vincular o controle ao item. O controle é criado dentro de uma nova Grid.

Objetos

Quando você arrasta um objeto ou propriedade a partir de Fontes de dados janela para o designer Visual Studio gera XAML que cria um controle vinculado a dados (ou vincula um controle existente para o objeto ou propriedade). No entanto, Visual Studio não gera código para preencher o objeto com dados. Você deve escrever esse código sozinho.

ObservaçãoObservação

Classes personalizadas devem ser públicas e tem um construtor sem parâmetros de padrão. Eles não podem ser classes aninhadas que têm um ponto em sua sintaxe. Para obter mais informações, consulte Classes de personalizadas para WPF e XAML.

Visual Studiogera XAML que faz o seguinte:

  • Adiciona um novo CollectionViewSource os recursos do recipiente que você arrastou o item. O CollectionViewSource é um objeto que pode ser usado para navegar e exibir os dados no objeto.

  • Cria uma vinculação de dados para um controle. Se você arrastar o item a um controle existente no designer, o XAML vincula o controle para o item. Se você arrastar o item a um recipiente, o XAML cria o controle que foi selecionado para o item arrastado e vincular o controle ao item. O controle é criado dentro de uma nova Grid.

Consulte também

Tarefas

Como: Vincular controles WPF dados em Visual Studio

Como: Criar tabelas de pesquisa em aplicativos WPF

Como: Exibir dados relacionados em aplicativos WPF

Demonstra Passo a passo: A vinculação de controles do WPF para um modelo de dados de entidade

Demonstra Passo a passo: Controles do WPF de ligação a um Dataset

Demonstra Passo a passo: A vinculação de controles do WPF para um serviço de dados do WCF

Demonstra Passo a passo: Exibindo dados relacionados em um aplicativo WPF

Referência

Janela Fontes de Dados

Conceitos

Visão geral sobre fontes de dados