Udostępnij za pośrednictwem


Instruktaż: Powiązanie formantów WPF na Model danych jednostki

W tym instruktażu utworzy WPF aplikacji, która zawiera formanty powiązane dane.Formanty są powiązane z rekordów klientów, które są hermetyzowane w Entity Data Model.Można również dodać przyciski klientów można używać do przechodzenia między rekordami klientów i zapisać zmiany do rekordów.

Ten instruktaż ilustruje następujące zadania:

  • Tworzenie WPF aplikacji i Entity Data Model , jest generowany na podstawie danych w bazie danych AdventureWorksLT.

  • Tworzenie zestawu formantów powiązanych danych przez przeciągnięcie obiektu z Źródeł danych okna w oknie projektanta WPF.

  • Tworzenie przyciski nawigowania rekordy klientów do przodu i Wstecz.

  • Przycisk, który zapisuje zmiany w służy do tworzenia Entity Data Model i źródła danych.

    [!UWAGA]

    Na danym komputerze mogą być używane inne nazwy lub lokalizacje pewnych elementów interfejsu użytkownika programu Visual Studio, które są używane w poniższych instrukcjach. Używana wersja programu Visual Studio oraz jej ustawienia określają te elementy. Aby uzyskać więcej informacji, zobacz Visual Studio, ustawienia.

Wymagania wstępne

Potrzebne do przeprowadzenia tego instruktażu następujące składniki:

  • Visual Studio

  • Dostęp do działającego wystąpienia SQL Server lub SQL Server Express zawierającą AdventureWorksLT przykładowej bazy danych dołączone do niego.Można pobrać bazy danych AdventureWorksLT z witryny sieci Web w witrynie CodePlex.

Znajomość następujące pojęcia jest również przydatne, ale nie jest wymagane do ukończenia Instruktaż:

Tworzenie projektu

Utwórz nowy WPF projektu do wyświetlania rekordów klientów.

Aby utworzyć projekt

  1. Start Visual Studio.

  2. Na pliku menu, wskaż Nowy, a następnie kliknij przycisk projektu.

  3. Rozwiń programu Visual Basic lub Visual C#, a następnie wybierz Windows.

  4. Wybierz Aplikacji WPF szablonu projektu.

  5. W Nazwa wpisz AdventureWorksCustomerEditor , a następnie kliknij przycisk OK.

    Visual Studio tworzy AdventureWorksCustomerEditor projektu.

Tworzenie modelu jednostki danych dla aplikacji

Przed utworzeniem formantów powiązanych danych należy zdefiniować modelu danych aplikacji i dodać go do okna źródeł danych.W tym instruktażu utworzyć Entity Data Model.

Aby utworzyć Model podmiotu danych

  1. Na dane menu, kliknij Dodać nowe źródło danych otworzyć Kreatora konfiguracji źródła danych.

  2. Na Wybierz typ źródła danych strony, kliknij bazy danych, a następnie kliknij przycisk Dalej.

  3. Na Wybierz Model bazy danych strony, kliknij Podmiotu danych modelu, a następnie kliknij przycisk Dalej.

  4. Na Zawartość wybierz Model strony, kliknij Generowanie z bazy danych, a następnie kliknij przycisk Dalej.

  5. Na Wybieranie połączenia danych strony, wykonaj jedną z następujących czynności:

    • Jeśli połączenie danych z przykładowej bazy danych AdventureWorksLT jest dostępna na liście rozwijanej, zaznacz go.

      - lub -

    • Kliknij Nowe połączenie i utworzyć połączenie do bazy danych AdventureWorksLT.

    Upewnij się, że zapisać ustawienia połączenia App.Config jako podmiot opcja jest zaznaczona, a następnie kliknij Dalej.

  6. Na Wybierz obiekty bazy danych użytkownika strony, rozwiń węzeł tabel, a następnie wybierz klienta tabeli.

  7. Kliknij Zakończ.

    Otwiera plik Model1.edmx w projektancie.

  8. Skompiluj projekt.

Definiowanie interfejsu użytkownika okna

Dodawanie przycisków w oknie modyfikując XAML w projektancie WPF.

Aby zdefiniować okna interfejsu użytkownika

  1. W Solution Explorer, kliknij dwukrotnie pozycję MainWindow.xaml.

    Otwiera okno w projektancie WPF.

  2. W XAML wyświetlić projektanta, Dodaj następujący kod między <Grid> znaczników:

    <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. Skompiluj projekt.

Tworzenie formantów powiązanych danych

Tworzenie formanty służące do wyświetlania rekordów klientów przez przeciąganie obiektów z Źródeł danych okna Projektanta WPF.

Aby utworzyć formanty powiązane dane

  1. Na dane menu, kliknij Pokaż źródeł danych.

  2. W Źródeł danych okna, kliknij menu rozwijane dla Klienci węzła i wybierz Szczegóły.

  3. Rozwiń Klienci węzła.

  4. W tym przykładzie niektóre pola nie będą wyświetlane tak, kliknij menu rozwijane obok następujące węzły i wybierz Brak:

    • NameStyle

    • PasswordHash

    • PasswordSalt

    • rowGuid

    • ModifiedDate

  5. Z Źródeł danych okno, przeciągnij Klienci węzła obszaru pod przyciskami.

  6. W projektancie, kliknij pole tekstowe obok ID klienta etykiety.

  7. W Właściwości okna, zaznacz pole wyboru obok IsReadOnly właściwości.

  8. Skompiluj projekt.

Przeglądanie rekordów klientów

Dodaj kod, który umożliwia użytkownikom przewijać rekordów klientów za pomocą <</c1> i przyciski.>

Aby umożliwić użytkownikom przechodzenie rekordów klientów

  1. W projektancie, kliknij dwukrotnie <</c1> przycisku.

    Visual StudioOtwiera plik kodu i tworzy nowy backButton_Click obsługi zdarzenia Click zdarzenia.

  2. Modyfikowanie Window_Loaded obsługi zdarzeń tak CustomersViewSource i AdventureWorksLTEntities są poza metody i dostępne dla całego formularza.Zadeklarować tylko te globalnego do formularza, przypisać im w ramach Window_Loaded obsługi zdarzenia podobne do następujących:

    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. Dodaj następujący kod do backButton_Click obsługi zdarzeń:

    If CustomersViewSource.View.CurrentPosition > 0 Then
        CustomersViewSource.View.MoveCurrentToPrevious()
    End If
    
    if (customersViewSource.View.CurrentPosition > 0)
        customersViewSource.View.MoveCurrentToPrevious();
    
  4. Powrócić do projektanta, a następnie kliknij dwukrotnie > przycisku.

    Visual StudioOtwiera plik kodu i tworzy nowy nextButton_Click obsługi zdarzenia Click zdarzenia.

  5. Dodaj następujący kod do nextButton _Click obsługi zdarzeń:

    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();
    

Punkt kontrolny

Tworzenie i uruchamianie projektu, aby upewnić się, że kod kompiluje i poruszanie rekordy klientów.

Aby przetestować aplikację

  • Press F5.

    Aplikacja tworzy i uruchamia.Sprawdź, czy:

    • Dane klienta są wyświetlane.

    • Można kliknąć > lub <</c4> przyciski nawigacji rekordów klientów.

Zapisywanie zmian rekordów klientów

Dodaj kod, który umożliwia użytkownikom zapisać zmiany rekordów klientów za pomocą zapisać zmiany przycisku.

Aby dodać możliwość zapisania zmian do rekordów klientów

  1. W projektancie, kliknij dwukrotnie zapisać zmiany przycisku.

    Visual StudioOtwiera plik kodu i tworzy nowy saveButton_Click obsługi zdarzeń.

  2. Dodaj następujący kod do saveButton_Click obsługi zdarzeń:

    AdventureWorksLTEntities.SaveChanges()
    
    adventureWorksLTEntities.SaveChanges();
    

Testowanie aplikacji

Tworzenie i uruchamianie aplikacji czy wyświetla rekordy klientów i umożliwia zapisanie zmian do nich.

Aby przetestować aplikację

  1. Press F5.

  2. Edytować rekordy klientów, a następnie kliknij przycisk zapisać zmiany.

  3. Zamknij aplikację, a następnie ponownie uruchomić aplikację przez naciśnięcie F5.

  4. Przejdź do rekordu klienta, który został zmieniony i sprawdź utrzymuje zmiany.

  5. Zamknij aplikację.

Następne kroki

Po zakończeniu tego instruktażu, można wykonywać następujące zadania:

Zobacz też

Zadania

Jak: powiązanie formantów WPF do danych w programie Visual Studio

Instruktaż: Powiązaniem formantów WPF z zestawu danych

Instruktaż: Powiązaniem formantów WPF usłudze danych WCF

Koncepcje

Wiązanie formantów WPF do danych w programie Visual Studio

WPF i Silverlight Designer, omówienie

Omówienie wiązania danych

Inne zasoby

Introducing the Entity Framework