Passo a passo: Vinculação de controles WPF para um modelo de dados de entidade
Em essa explicação passo a passo, você criará um aplicativo de WPF que contém controles associados a dados.Os controles são associados aos registros de clientes que são encapsulados em Modelo de Dados de Entidade.Você também irá adicionar botões que os clientes podem usar para navegar pelos registros de clientes e para salvar alterações dos registros.
Essa explicação passo a passo mostra as seguintes tarefas:
Criando um aplicativo de WPF e um Modelo de Dados de Entidade que é gerado de dados no banco de dados de exemplo AdventureWorksLT.
Criando um conjunto de controles associados a dados arrastando um principal da janela da Fontes de Dados em uma janela WPF designer.
Criando os botões que navegam registros de módulos dianteiros e inverso de cliente.
Criando um botão que salva alterações nos controles a Modelo de Dados de Entidade e para a fonte de dados subjacente.
Observação Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações de Visual Studio.
Pré-requisitos
Para completar este passo-a-passo, são necessários os seguintes componentes:
Visual Studio
Acesso a uma instância em execução de SQL Server ou de SQL Server express que tenha o banco de dados de exemplo AdventureWorksLT anexou-lhe.Você pode baixar o banco de dados AdventureWorksLT de site de CodePlex.
O conhecimento prévio dos seguintes conceitos também é útil, mas não necessário para concluir a explicação passo a passo:
Modelos de dados de entidade e a estrutura de entidade de ADO.NET.Para mais informações, consulte Introducing the Entity Framework.
Trabalhando com o designer WPF.Para mais informações, consulte WPF e Silverlight Designer Overview.
Associação de dados deWPF .Para obter mais informações, consulte: Visão geral de vinculação de dados.
Criando o projeto
Crie um novo projeto de WPF exibir os registros de clientes.
Para criar o projeto
Inicie o Visual Studio
No menu File, aponte para New, e em seguida, clique em Project.
Expanda Visual Basic ou Visual C#, selecione Janelas.
Selecione o modelo de projeto de Aplicativo WPF .
Em a caixa de Nome , o tipo AdventureWorksCustomerEditor e clique em OK.
O Visual Studio cria o projeto de AdventureWorksCustomerEditor .
Criando um modelo de dados de entidade para o aplicativo
Antes de poder criar controles associados a dados, você deve definir um modelo de dados para seu aplicativo e o adiciona à janela fontes de dados.Em essa explicação passo a passo, você cria Modelo de Dados de Entidade.
Para criar um modelo de dados de entidade
Em o menu de Dados , clique em Adicionar nova fonte de dados para abrir Assistente para Configuração de Fonte de Dados.
Em a página de Escolher um Tipo de Fonte de Dados , clique em Banco de Dados, e clique em Avançar.
Em a página de Escolha um modelo de banco de dados , clique em Modelo de dados de entidade, e clique em Avançar.
Em a página de Escolha o conteúdo modelo , clique em Gere de banco de dados, e clique em Avançar.
Em a página de Escolha a Conexão de Dados , siga um de estes procedimentos:
Se uma conexão de dados ao banco de dados de exemplo AdventureWorksLT está disponível na lista suspensa, selecione.
- ou -
Clique Nova conexão e criar uma conexão para o banco de dados AdventureWorksLT.
Certifique-se de que a opção de Salvar configurações de conexão de entidade em App.Config como esteja selecionada, e clique em Avançar.
Em a página de Escolher Objetos do Banco de Dados , expanda Tabelas, selecione a tabela de cliente .
Clique em Concluir.
O arquivo de Model1.edmx abre no designer.
Crie o projeto.
Definindo a interface do usuário da janela
Adicionar botões à janela alterando XAML no WPF designer.
Para definir a interface do usuário da janela
Em Gerenciador de Soluções, clique duas vezes em MainWindow.xaml.
A janela é aberta no WPF designer.
Em o modo de XAML o designer, adicione o seguinte código entre as marcas de <Grid> :
<Grid.RowDefinitions> <RowDefinition Height="75" /> <RowDefinition Height="425" /> </Grid.RowDefinitions> <Button HorizontalAlignment="Left" Margin="22,20,0,24" Name="backButton" Width="75"><</Button> <Button HorizontalAlignment="Left" Margin="116,20,0,24" Name="nextButton" Width="75">></Button> <Button HorizontalAlignment="Right" Margin="0,21,46,24" Name="saveButton" Width="110">Save changes</Button>
Crie o projeto.
Criando controles associados a dados
Criar controles que exibem registros de clientes arrastando objetos da janela de Fontes de Dados o WPF designer.
Para criar controles associados a dados
No menu Data, clique em Show Data Sources.
Em a janela de Fontes de Dados , clique no menu drop-down para o nó de clientes e selecione Detalhes.
Expanda o nó de clientes .
Para esse exemplo alguns campos não serão exibidos então clique no menu suspenso próximo dos nós e selecione Nenhum:
NameStyle
PasswordHash
PasswordSalt
rowGuid
ModifiedDate
De a janela de Fontes de Dados , arraste o nó de clientes para a área nos botões.
Em o designer, clique na caixa de texto ao lado do rótulo de Identificação do cliente .
Em a janela de Propriedades , selecione a caixa de seleção próxima à propriedade de IsReadOnly .
Crie o projeto.
Navegando em registros de cliente
Adicione código que permite aos usuários para percorrer os registros de cliente usando botões < e >.
Para permitir que os usuários naveguem entre registros de cliente
Em o designer, clique duas vezes no botão <.
Visual Studio abre o arquivo code-behind e cria um novo manipulador de eventos de backButton_Click para o evento de Click .
Modifique o manipulador de eventos de Window_Loaded portanto CustomersViewSource e AdventureWorksLTEntities estão fora do método e acessível ao formulário inteiro.Declarar apenas esses globais para o formulário, os atribui dentro do manipulador de eventos de Window_Loaded semelhante ao seguinte:
Dim CustomersViewSource As System.Windows.Data.CollectionViewSource Dim AdventureWorksLTEntities As AdventureWorksCustomerEditor.AdventureWorksLTEntities Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded CustomersViewSource = CType(Me.FindResource("CustomersViewSource"), System.Windows.Data.CollectionViewSource) AdventureWorksLTEntities = New AdventureWorksCustomerEditor.AdventureWorksLTEntities() 'Load data into Customers. You can modify this code as needed. Dim CustomersQuery As System.Data.Objects.ObjectQuery(Of AdventureWorksCustomerEditor.Customer) = Me.GetCustomersQuery(AdventureWorksLTEntities) CustomersViewSource.Source = CustomersQuery.Execute(System.Data.Objects.MergeOption.AppendOnly) End Sub
private System.Windows.Data.CollectionViewSource customersViewSource; private AdventureWorksCustomerEditor.AdventureWorksLTEntities adventureWorksLTEntities; private void Window_Loaded(object sender, RoutedEventArgs e) { adventureWorksLTEntities = new AdventureWorksCustomerEditor.AdventureWorksLTEntities(); // Load data into Customers. You can modify this code as needed. customersViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("customersViewSource"))); System.Data.Objects.ObjectQuery<AdventureWorksCustomerEditor.Customer> customersQuery = this.GetCustomersQuery(adventureWorksLTEntities); customersViewSource.Source = customersQuery.Execute(System.Data.Objects.MergeOption.AppendOnly); }
Adicione o seguinte código para o manipulador de eventos backButton_Click.
If CustomersViewSource.View.CurrentPosition > 0 Then CustomersViewSource.View.MoveCurrentToPrevious() End If
if (customersViewSource.View.CurrentPosition > 0) customersViewSource.View.MoveCurrentToPrevious();
Retornar ao designer, clique duas vezes no botão >.
Visual Studio abre o arquivo code-behind e cria um novo manipulador de eventos de nextButton_Click para o evento de Click .
Adicione o seguinte código para o manipulador de eventos nextButton _Click.
If CustomersViewSource.View.CurrentPosition < CType(CustomersViewSource.View, CollectionView).Count - 1 Then CustomersViewSource.View.MoveCurrentToNext() End If
if (customersViewSource.View.CurrentPosition < ((CollectionView)customersViewSource.View).Count - 1) customersViewSource.View.MoveCurrentToNext();
Ponto de Verificação
Compilar e executar o projeto para certificar-se de que o código é compilado, e que você pode navegar em registros de clientes.
Para testar o aplicativo
Pressione F5.
As compilações e o é executado do aplicativo.Verifique o seguinte:
Os dados do cliente são exibidos.
Você pode clicar nos botões > ou < para navegar em registros de clientes.
Salvar alterações aos registros de cliente
Adicione código que permite aos usuários salvar as alterações aos registros de cliente usando o botão de Salvar Alterações .
Para adicionar a capacidade de salvar alterações aos registros de cliente
Em o designer, clique duas vezes no botão de Salvar Alterações .
Visual Studio abre o arquivo code-behind e cria um novo manipulador de eventos de saveButton_Click .
Adicione o seguinte código para o manipulador de eventos saveButton_Click.
AdventureWorksLTEntities.SaveChanges()
adventureWorksLTEntities.SaveChanges();
Testando o aplicativo
Compilar e executar o aplicativo para verificar que exibe os registros de clientes e permite que você salve as alterações a eles.
Para testar o aplicativo
Pressione F5.
Editar um dos registros de clientes e clique em Salvar Alterações.
Feche o aplicativo e em seguida, inicie o aplicativo novamente pressionando F5.
Navegue para o registro de cliente que você tiver sido alterado, e verifique que a alteração persistir.
Feche o aplicativo.
Próximas etapas
Após concluir essa explicação passo a passo, você pode executar as seguintes tarefas relacionadas:
Aprender a usar a janela de Fontes de Dados em Visual Studio para associar controles de WPF para outros tipos de fontes de dados.Para obter mais informações, consulte Passo a passo: Vinculação de controles WPF para um serviço de dados do WCF e Passo a passo: Vinculação de controles WPF em um Dataset.
Aprender a usar a janela de Fontes de Dados no Visual Studio para exibir os dados relacionados (isto é, dados em um relacionamento pai-filho) em controles WPF.Para mais informações, consulte Passo a passo: Exibindo dados relacionados em um aplicativo WPF.
Consulte também
Tarefas
Como: vincular controles WPF dados em Visual Studio
Passo a passo: Vinculação de controles WPF em um Dataset
Passo a passo: Vinculação de controles WPF para um serviço de dados do WCF
Conceitos
Controles do WPF de ligação a dados em Visual Studio
WPF e Silverlight Designer Overview
Visão geral de vinculação de dados