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ż:
Podmiot danych modeli i ADO.NET Entity Framework.Aby uzyskać więcej informacji, zobacz Introducing the Entity Framework.
Praca z projektanta WPF.Aby uzyskać więcej informacji, zobacz WPF i Silverlight Designer, omówienie.
WPFPowiązanie danych.Aby uzyskać więcej informacji, zobacz Omówienie wiązania danych.
Tworzenie projektu
Utwórz nowy WPF projektu do wyświetlania rekordów klientów.
Aby utworzyć projekt
Start Visual Studio.
Na pliku menu, wskaż Nowy, a następnie kliknij przycisk projektu.
Rozwiń programu Visual Basic lub Visual C#, a następnie wybierz Windows.
Wybierz Aplikacji WPF szablonu projektu.
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
Na dane menu, kliknij Dodać nowe źródło danych otworzyć Kreatora konfiguracji źródła danych.
Na Wybierz typ źródła danych strony, kliknij bazy danych, a następnie kliknij przycisk Dalej.
Na Wybierz Model bazy danych strony, kliknij Podmiotu danych modelu, a następnie kliknij przycisk Dalej.
Na Zawartość wybierz Model strony, kliknij Generowanie z bazy danych, a następnie kliknij przycisk Dalej.
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.
Na Wybierz obiekty bazy danych użytkownika strony, rozwiń węzeł tabel, a następnie wybierz klienta tabeli.
Kliknij Zakończ.
Otwiera plik Model1.edmx w projektancie.
Skompiluj projekt.
Definiowanie interfejsu użytkownika okna
Dodawanie przycisków w oknie modyfikując XAML w projektancie WPF.
Aby zdefiniować okna interfejsu użytkownika
W Solution Explorer, kliknij dwukrotnie pozycję MainWindow.xaml.
Otwiera okno w projektancie WPF.
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"><</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>
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
Na dane menu, kliknij Pokaż źródeł danych.
W Źródeł danych okna, kliknij menu rozwijane dla Klienci węzła i wybierz Szczegóły.
Rozwiń Klienci węzła.
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
Z Źródeł danych okno, przeciągnij Klienci węzła obszaru pod przyciskami.
W projektancie, kliknij pole tekstowe obok ID klienta etykiety.
W Właściwości okna, zaznacz pole wyboru obok IsReadOnly właściwości.
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
W projektancie, kliknij dwukrotnie <</c1> przycisku.
Visual StudioOtwiera plik kodu i tworzy nowy backButton_Click obsługi zdarzenia Click zdarzenia.
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); }
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();
Powrócić do projektanta, a następnie kliknij dwukrotnie > przycisku.
Visual StudioOtwiera plik kodu i tworzy nowy nextButton_Click obsługi zdarzenia Click zdarzenia.
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
W projektancie, kliknij dwukrotnie zapisać zmiany przycisku.
Visual StudioOtwiera plik kodu i tworzy nowy saveButton_Click obsługi zdarzeń.
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ę
Press F5.
Edytować rekordy klientów, a następnie kliknij przycisk zapisać zmiany.
Zamknij aplikację, a następnie ponownie uruchomić aplikację przez naciśnięcie F5.
Przejdź do rekordu klienta, który został zmieniony i sprawdź utrzymuje zmiany.
Zamknij aplikację.
Następne kroki
Po zakończeniu tego instruktażu, można wykonywać następujące zadania:
Używanie Źródeł danych okna w Visual Studio do powiązania WPF formanty do innych typów źródeł danych.Aby uzyskać więcej informacji, zobacz Instruktaż: Powiązaniem formantów WPF usłudze danych WCF i Instruktaż: Powiązaniem formantów WPF z zestawu danych.
Używanie Źródeł danych okno programu Visual Studio, aby wyświetlić formantów WPF powiązanych danych (czyli w relacji typu nadrzędny podrzędny).Aby uzyskać więcej informacji, zobacz Instruktaż: Wyświetlanie powiązanych danych w aplikacji WPF.
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