Compartilhar via


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çãoObservaçã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:

Criando o projeto

Criar uma nova WPF o projeto para exibir os registros de cliente.

Para criar o projeto

  1. Inicie o Visual Studio

  2. No menu File, aponte para New, e em seguida, clique em Project.

  3. Expanda Visual Basic ou **Visual C#**e selecione Windows.

  4. Selecione o Aplicativo WPF o modelo de projeto.

  5. 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

  1. Sobre o dados menu, clique em Add New Data Source para abrir o Data Source Configuration Wizard.

  2. Sobre o Escolher um tipo de fonte de dados página, clique em banco de dadose, em seguida, clique em próximo.

  3. Sobre o Escolher um modelo de banco de dados página, clique em Modelo de dados de entidadee, em seguida, clique em próximo.

  4. Sobre o Escolher o modelo de conteúdo página, clique em gerar do banco de dadose, em seguida, clique em próxima.

  5. 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.

  6. Sobre o Escolha seus objetos de banco de dados página, expanda tabelase selecione o cliente tabela.

  7. Clique em Finish.

    O arquivo de Model1.edmx abre no designer.

  8. 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

  1. Em Solution Explorer, clique duas vezes em MainWindow. XAML.

    A janela é aberta do WPF Designer.

  2. 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">&lt;</Button>
    <Button HorizontalAlignment="Left" Margin="116,20,0,24" Name="nextButton" Width="75">&gt;</Button>
    <Button HorizontalAlignment="Right" Margin="0,21,46,24" Name="saveButton" Width="110">Save changes</Button>
    
  3. 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

  1. No menu Data, clique em Show Data Sources.

  2. No Fontes de dados janela, clique no menu drop-down para o os clientes nó e selecione detalhes.

  3. Expanda o os clientes nó.

  4. 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

  5. Do Fontes de dados janela, arraste o clientes o nó para a área sob os botões.

  6. No designer, clique na caixa de texto ao lado do Identificação do cliente rótulo.

  7. No Propriedades janela, selecione a caixa de seleção ao lado do IsReadOnly propriedade.

  8. Crie o projeto.

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

  1. 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.

  2. 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);
    }
    
  3. 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();
    
  4. 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.

  5. 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

  1. 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.

  2. 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

  1. Pressione F5.

  2. Editar um dos registros de clientes e, em seguida, clique em Salvar as alterações.

  3. Feche o aplicativo e inicie o aplicativo novamente pressionando F5.

  4. Navegue até o registro do cliente que você alterou e verificar que a alteração foi mantida.

  5. Feche o aplicativo.

Próximas etapas

Depois de concluir este passo a passo, você pode executar as seguintes tarefas:

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

Outros recursos

Entity Data Model

Introducing the Entity Framework