Sdílet prostřednictvím


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:

Vytváření projektu

Vytvořit nový WPF projektu zobrazit záznamy zákazníků.

Jak vytvořit nový projekt

  1. Spusťte nástroj Visual Studio.

  2. V nabídce File (Soubor) přejděte na příkaz New (Nový) a klepněte na příkaz Project (Projekt).

  3. Rozbalte jazyka Visual Basic nebo **Visual C#**a pak vyberte Windows.

  4. Vyberte Aplikací WPF šablona projektu.

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

  1. Na Data nabídky, klepněte na tlačítko Přidat nový zdroj dat otevřete Průvodce konfigurací zdroje dat.

  2. Na Vyberte typ zdroje dat klepněte na možnost databázea klepněte na tlačítko Další.

  3. Na zvolit Model databáze klepněte na možnost Modelu dat Entitya klepněte na tlačítko Další.

  4. Na Zvolte obsah modelu klepněte na možnost Generovat z databázea klepněte na tlačítko Další.

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

  6. Na Zvolte databázové objekty stránky, rozbalte položku tabuleka potom vyberte zákazníkovi tabulky.

  7. Klepněte na tlačítko Dokončit.

    Otevře se soubor Model1.edmx v návrháři.

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

  1. V Aplikaci Solution Explorer, poklepejte na položku MainWindow.xaml.

    Okno se otevře v návrháři WPF.

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

  1. V nabídce Data klikněte na tlačítko Zobrazit zdroje dat.

  2. V Zdroje dat okna, klepněte na rozevírací nabídku pro Zákazníci uzlu a vyberte Podrobnosti O.

  3. Rozbalte Zákazníci uzel.

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

  5. Z Zdroje dat okna, přetáhněte Zákazníci uzlu do oblasti pod tlačítky.

  6. V návrháři, klepněte do textového pole vedle ID zákazníka popisek.

  7. V Vlastnosti okně, zaškrtněte políčko vedle IsReadOnly vlastnost.

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

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

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

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

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

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

  1. Stiskněte tlačítko F5.

  2. Upravit jeden ze záznamů zákazníka a klepněte na Uložit změny.

  3. Ukončete aplikaci a spusťte znovu aplikaci stisknutím F5.

  4. Přejděte na záznam zákazníka, které jste změnili a ověřte, že má trvalé změny.

  5. Ukončete aplikaci.

Další kroky

Po dokončení tohoto postupu, můžete provádět následující související úkoly:

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

Přehled vázání dat

Další zdroje

Introducing the Entity Framework