Demonstra Passo a passo: A vinculação de controles do WPF para um modelo de dados de entidade
Esta explicação passo a passo, você criará um WPF aplicativo que contém todos os controles ligados a dados. Os controles estão vinculados aos registros de cliente são encapsulados em um Modelo de Dados de Entidade. Você também irá adicionar botões que os clientes podem usar para navegar pelos registros de clientes e salvar alterações em registros.
Essa explicação passo a passo ilustra as seguintes tarefas:
Criando um WPF aplicativo e um Modelo de Dados de Entidade que é gerada a partir de dados no banco de dados de exemplo AdventureWorksLT.
Criando um conjunto de controles ligados a dados arrastando-se de uma entidade de Fontes de dados janela para uma janela no designer WPF.
Criando botões navegam Avançar e retroceder nos registros do cliente.
Criar um botão que salva as alterações nos controles para o Modelo de Dados de Entidade e a fonte de dados subjacente.
Observação Seu computador pode mostrar diferentes nomes ou localizações para alguns do Visual Studio elementos de interface do usuário as instruções a seguir. O Visual Studio edição que você tem e as configurações que você usar determinam esses elementos. Para obter mais informações, consulte Trabalhando com configurações.
Pré-requisitos
Para completar este passo a passo, são necessários os seguintes componentes:
Visual Studio 2010.
Acesso a uma instância em execução SQL Server ou SQL Server Express que tem o banco de dados de exemplo AdventureWorksLT conectado a proprietário. Você pode baixar o banco de dados de AdventureWorksLT a site CodePlex da.
Conhecimento prévio dos seguintes conceitos também é útil, mas não é necessária para concluir o passo a passo:
Modelos de dados de entidade e o ADO.NET Entity Framework. Para obter mais informações, consulte Entity Data Model e Introducing the Entity Framework.
Trabalhando com o WPF designer. Para obter mais informações, consulte Visão geral do WPF e do Silverlight Designer.
WPFvinculação de dados. Para obter mais informações, consulte Revisão de Associação de Dados.
Criando o projeto
Criar uma nova WPF o projeto para exibir os registros de cliente.
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#**e selecione Windows.
Selecione o Aplicativo WPF o modelo de projeto.
No nome , digite AdventureWorksCustomerEditor e, em seguida, clique em OK.
Visual Studio cria o AdventureWorksCustomerEditor project.
Criando um modelo de dados de entidade para o aplicativo.
Antes de criar controles ligados a dados, você deve definir um modelo de dados para seu aplicativo e adicioná-la à janela Data Sources. Esta explicação passo a passo, você cria um Modelo de Dados de Entidade.
Para criar um modelo de dados de entidade
Sobre o dados menu, clique em Add New Data Source para abrir o Data Source Configuration Wizard.
Sobre o Escolher um tipo de fonte de dados página, clique em banco de dadose, em seguida, clique em próximo.
Sobre o Escolher um modelo de banco de dados página, clique em Modelo de dados de entidadee, em seguida, clique em próximo.
Sobre o Escolher o modelo de conteúdo página, clique em gerar do banco de dadose, em seguida, clique em próxima.
Sobre o Choose Your Data Connection de página, faça o seguinte:
Se uma conexão de dados no banco de dados de amostra de AdventureWorksLT estiver disponível na lista suspensa, selecione-o.
- ou -
Clique em Nova conexão e crie uma conexão ao banco de dados AdventureWorksLT.
Certifique-se de que o Salvar configurações de conexão de entidade em app. config, como opção é selecionada e clique em próximo.
Sobre o Escolha seus objetos de banco de dados página, expanda tabelase selecione o cliente tabela.
Clique em Finish.
O arquivo de Model1.edmx abre no designer.
Crie o projeto.
Definindo a Interface do usuário da janela
Adicionar botões à janela modificando o XAML na WPF Designer.
Para definir a interface do usuário da janela
Em Solution Explorer, clique duas vezes em MainWindow. XAML.
A janela é aberta do WPF Designer.
No XAML Exibir do designer, adicione o seguinte código entre o <Grid> marcas:
<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 vinculados a dados
Criar controles que exibem os registros de clientes, arrastando objetos da Fontes de dados janela para o WPF Designer.
Para criar controles ligados a dados
No menu Data, clique em Show Data Sources.
No Fontes de dados janela, clique no menu drop-down para o os clientes nó e selecione detalhes.
Expanda o os clientes nó.
Neste exemplo, alguns campos não serão exibidos assim, clique em menu drop-down ao lado de nós a seguir e selecione Nenhum:
NameStyle
PasswordHash
PasswordSalt
rowGuid
ModifiedDate
Do Fontes de dados janela, arraste o clientes o nó para a área sob os botões.
No designer, clique na caixa de texto ao lado do Identificação do cliente rótulo.
No Propriedades janela, selecione a caixa de seleção ao lado do IsReadOnly propriedade.
Crie o projeto.
Navegar pelos registros de cliente
Adicione código que permite aos usuários percorrer os registros de clientes usando o < e > botões.
Para permitir aos usuários navegar pelos registros de cliente
No designer, clique duas vezes o < botão.
Visual StudioAbre o arquivo de code-behind e cria um novo backButton_Click o manipulador de eventos para o Click de evento.
Modificar o Window_Loaded manipulador de eventos para que as CustomersViewSource e AdventureWorksLTEntities estão fora do método e acessível para o formulário inteiro. Apenas esses declarar globais para o formulário, atribuí-los dentro do Window_Loaded manipulador de eventos similar à 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 e clique duas vezes o > botão.
Visual StudioAbre o arquivo de code-behind e cria um novo nextButton_Click o manipulador de eventos para o Click de evento.
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
Crie e execute seu 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.
O aplicativo é compilada e executada. Verifique o seguinte:
Dados do cliente são exibidos.
Você pode clicar a > ou < os botões para navegar pelos registros de cliente.
Salvando alterações em registros de clientes
Adicione código que permite aos usuários salvar as alterações aos registros de cliente usando o Salvar as alterações botão.
Para adicionar a capacidade de salvar as alterações em registros de clientes
No designer, clique duas vezes o Salvar as alterações botão.
Visual StudioAbre o arquivo de code-behind e cria um novo saveButton_Click manipulador de eventos.
Adicione o seguinte código para o manipulador de eventos saveButton_Click:
AdventureWorksLTEntities.SaveChanges()
adventureWorksLTEntities.SaveChanges();
Testando o aplicativo
Criar e executar o aplicativo para verificar se ele exibe os registros de clientes e permite que você salve as alterações.
Para testar o aplicativo
Pressione F5.
Editar um dos registros de clientes e, em seguida, clique em Salvar as alterações.
Feche o aplicativo e inicie o aplicativo novamente pressionando F5.
Navegue até o registro do cliente que você alterou e verificar que a alteração foi mantida.
Feche o aplicativo.
Próximas etapas
Depois de concluir este passo a passo, você pode executar as seguintes tarefas:
Saiba como usar o Fontes de dados janela no Visual Studio a ligação WPF controles para outros tipos de fontes de dados. Para obter mais informações, consulte Demonstra Passo a passo: A vinculação de controles do WPF para um serviço de dados do WCF e Demonstra Passo a passo: Controles do WPF de ligação a um Dataset.
Saiba como usar o Fontes de dados janela no Visual Studio para exibir dados relacionados (ou seja, os dados em uma relação pai-filho) controles do WPF. Para obter mais informações, consulte Demonstra Passo a passo: Exibindo dados relacionados em um aplicativo WPF.
Consulte também
Tarefas
Como: Vincular controles WPF dados em Visual Studio
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
Conceitos
Controles do WPF de ligação a dados em Visual Studio
Visão geral do WPF e do Silverlight Designer
Revisão de Associação de Dados