Názorný postup: Vazba na datový Model entita WPF ovládací prvky
V tomto návodu je vytvořit WPF aplikace, která obsahuje ovládací prvky vázané na data.Ovládací prvky jsou vázány na záznamy zákazníků, které jsou zapouzdřeny v Entity Data Model.Pokud přidáte tlačítka umožňující zákazníkům procházení záznamů zákazníků a uložit změny záznamů.
Tento návod ilustruje následující úkoly:
Vytváření WPF aplikace a Entity Data Model která je vytvořena z dat v ukázkové databázi AdventureWorksLT.
Vytvoření sady ovládací prvky vázané na data přetažením subjektu z Zdroje dat okna do okna v WPF designer.
Vytvoření tlačítka vpřed a zpět procházet záznamy zákazníků.
Vytváření tlačítek, který uloží změny v ovládacích prvcích na Entity Data Model a podkladový zdroj dat.
[!POZNÁMKA]
Ve vašem počítači se pro některé z prvků uživatelského rozhraní sady Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedeny v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Nastavení aplikace Visual Studio.
Požadavky
Chcete-li dokončit tento návod, potřebujete následující komponenty:
Visual Studio
Přístup k spuštěna instance SQL Server nebo SQL Server Express s připojeným ukázkovou databázi AdventureWorksLT.Můžete stáhnout z databáze AdventureWorksLT webu CodePlex.
Předchozí znalosti těchto pojmů je také užitečné, ale nejsou vyžadovány dokončit návod:
Modely dat entity a ADO.NET Entity Framework.Další informace naleznete v tématu Introducing the Entity Framework.
Práce s WPF designer.Další informace naleznete v tématu WPF a Silverlight Designer – přehled.
WPFVazba na data.Další informace naleznete v tématu Přehled vázání dat.
Vytváření projektu
Vytvořit nový WPF projektu zobrazit záznamy zákazníků.
Jak vytvořit nový projekt
Spusťte nástroj Visual Studio.
V nabídce File (Soubor) přejděte na příkaz New (Nový) a klepněte na příkaz Project (Projekt).
Rozbalte jazyka Visual Basic nebo **Visual C#**a pak vyberte Windows.
Vyberte Aplikací WPF šablona projektu.
V název zadejte AdventureWorksCustomerEditor a klepněte na tlačítko OK.
Visual Studio vytvoří AdventureWorksCustomerEditor projektu.
Vytvoření modelu entita dat pro aplikaci
Než vytvoříte ovládací prvky vázané na data, musíte definovat datový model aplikace a přidat do okna zdroje dat.V tomto návodu vytvořit Entity Data Model.
Chcete-li vytvořit datový Model entita
Na Data nabídky, klepněte na tlačítko Přidat nový zdroj dat otevřete Průvodce konfigurací zdroje dat.
Na Vyberte typ zdroje dat klepněte na možnost databázea klepněte na tlačítko Další.
Na zvolit Model databáze klepněte na možnost Modelu dat Entitya klepněte na tlačítko Další.
Na Zvolte obsah modelu klepněte na možnost Generovat z databázea klepněte na tlačítko Další.
Na Zvolte datové připojení stránky, proveďte jeden z následujících:
Pokud je k dispozici v rozevíracím seznamu datové připojení k ukázkové databázi AdventureWorksLT, vyberte jej.
-nebo-
Klepněte na tlačítko Nové připojení a vytvořit připojení k databázi AdventureWorksLT.
Ujistěte se, že Uložit nastavení připojení entity v App.Config jako je vybrána možnost a klepněte na tlačítko Další.
Na Zvolte databázové objekty stránky, rozbalte položku tabuleka potom vyberte zákazníkovi tabulky.
Klepněte na tlačítko Dokončit.
Otevře se soubor Model1.edmx v návrháři.
Projekt sestavte.
Definování uživatelského rozhraní okna
Přidání tlačítek do okna změnou XAML v WPF Designer.
Definovat uživatelské rozhraní okna
V Aplikaci Solution Explorer, poklepejte na položku MainWindow.xaml.
Okno se otevře v návrháři WPF.
V XAML zobrazit návrháře, přidejte následující kód mezi <Grid> značky:
<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>
Projekt sestavte.
Vytváření ovládací prvky vázané na Data
Vytvořit ovládací prvky zobrazující záznamy zákazníků přetažením z objektů Zdroje dat okna WPF Designer.
Chcete-li vytvořit ovládací prvky vázané na data
V nabídce Data klikněte na tlačítko Zobrazit zdroje dat.
V Zdroje dat okna, klepněte na rozevírací nabídku pro Zákazníci uzlu a vyberte Podrobnosti O.
Rozbalte Zákazníci uzel.
V tomto příkladu některá pole se nezobrazí, klepněte na tlačítko rozevírací nabídky u následujících uzlů a vyberte žádný:
NameStyle
PasswordHash
PasswordSalt
rowGuid
ModifiedDate
Z Zdroje dat okna, přetáhněte Zákazníci uzlu do oblasti pod tlačítky.
V návrháři, klepněte do textového pole vedle ID zákazníka popisek.
V Vlastnosti okně, zaškrtněte políčko vedle IsReadOnly vlastnost.
Projekt sestavte.
Procházení záznamů zákazníka
Přidat kód, který umožňuje uživatelům procházet záznamy zákazníků pomocí < a > tlačítka.
Povolit uživatelům procházet záznamy zákazníků
V návrháři, poklepejte < tlačítko.
Visual StudioOtevře soubor s kódem na pozadí a vytvoří nový backButton_Click obslužnou rutinu události pro Click událostí.
Změnit Window_Loaded obslužné rutiny události tak, aby se CustomersViewSource a AdventureWorksLTEntities jsou mimo metodu a jsou přístupné celý formulář.Deklarovat pouze tyto globální formuláře, přiřadit jim v rámci Window_Loaded obslužné rutiny události podobné následujícím:
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); }
Přidejte následující kód do obslužné rutiny události backButton_Click:
If CustomersViewSource.View.CurrentPosition > 0 Then CustomersViewSource.View.MoveCurrentToPrevious() End If
if (customersViewSource.View.CurrentPosition > 0) customersViewSource.View.MoveCurrentToPrevious();
Vrátit Návrhář a poklepejte na položku > tlačítko.
Visual StudioOtevře soubor s kódem na pozadí a vytvoří nový nextButton_Click obslužnou rutinu události pro Click událostí.
Přidejte následující kód do obslužné rutiny události 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();
Checkpoint
Vytvoření a spuštění projektu, kód zkompiluje a procházení záznamů zákazníků.
Testování aplikace
Stiskněte tlačítko F5.
Aplikace vytvoří a spustí.Zkontrolujte následující:
Zobrazení dat zákazníka.
Klepnutím > nebo < tlačítka Procházet záznamy zákazníků.
Ukládání změn záznamů zákazníků
Přidat kód, který umožňuje uživatelům uložit změny pomocí záznamů zákazníků Uložit změny tlačítko.
Chcete-li přidat možnost uložit změny záznamů zákazníků
V návrháři, poklepejte Uložit změny tlačítko.
Visual StudioOtevře soubor s kódem na pozadí a vytvoří nový saveButton_Click obslužnou rutinu události.
Přidejte následující kód do obslužné rutiny události saveButton_Click:
AdventureWorksLTEntities.SaveChanges()
adventureWorksLTEntities.SaveChanges();
Testování aplikace
Vytvoření a spuštění aplikace a ověřte, že zobrazí záznamy zákazníka a umožňuje tyto změny uložit.
Testování aplikace
Stiskněte tlačítko F5.
Upravit jeden ze záznamů zákazníka a klepněte na Uložit změny.
Ukončete aplikaci a spusťte znovu aplikaci stisknutím F5.
Přejděte na záznam zákazníka, které jste změnili a ověřte, že má trvalé změny.
Ukončete aplikaci.
Další kroky
Po dokončení tohoto postupu, můžete provádět následující související úkoly:
Naučte se používat Zdroje dat okna v Visual Studio vazbu WPF ovládací prvky na jiné typy zdrojů dat.Další informace naleznete v tématu Názorný postup: Vazba WPF ovládací prvky pro Data služby WCF a Názorný postup: Vazba WPF ovládací prvky k objektu Dataset.
Naučte se používat Zdroje dat okna v aplikaci Visual Studio k zobrazení souvisejících dat (data, ve vztahu nadřazený podřízený) WPF ovládacích prvků.Další informace naleznete v tématu Názorný postup: Zobrazení souvisejících dat aplikací WPF.
Viz také
Úkoly
Jak: WPF ovládací prvky vázat na Data v aplikaci Visual Studio
Názorný postup: Vazba WPF ovládací prvky k objektu Dataset
Názorný postup: Vazba WPF ovládací prvky pro Data služby WCF
Koncepty
Ovládací prvky WPF vazby na Data v aplikaci Visual Studio
WPF a Silverlight Designer – přehled