Sdílet prostřednictvím


Vytvoření vazby ovládacích prvků WPF k datům v aplikacích .NET Framework

Poznámka:

Datové sady a související třídy jsou staršími technologiemi rozhraní .NET Framework z počátku 2000, které aplikacím umožňují pracovat s daty v paměti, zatímco aplikace jsou odpojené od databáze. Jsou zvláště užitečné pro aplikace, které uživatelům umožňují upravovat data a uchovávat změny zpět do databáze. I když se datové sady ukázaly jako velmi úspěšná technologie, doporučujeme, aby nové aplikace .NET používaly Entity Framework Core. Entity Framework poskytuje přirozenější způsob práce s tabulkovými daty jako objektovými modely a má jednodušší programovací rozhraní.

Data můžete uživatelům aplikace zobrazit vazbou dat k ovládacím prvkům WPF. Chcete-li vytvořit tyto ovládací prvky vázané na data, můžete přetáhnout položky z okna Zdroje dat do návrháře WPF v sadě Visual Studio. Toto téma popisuje některé z nejběžnějších úloh, nástrojů a tříd, které můžete použít k vytváření aplikací WPF vázaných na data.

Obecné informace o vytváření ovládacích prvků vázaných na data v sadě Visual Studio naleznete v tématu Vytvoření vazby ovládacích prvků k datům v sadě Visual Studio. Další informace o datové vazbě WPF naleznete v tématu Přehled datových vazeb.

Úlohy spojené s vazbou ovládacích prvků WPF na data

Následující tabulka uvádí úlohy, které lze provést přetažením položek z okna Zdroje dat do návrháře WPF.

Úloha Více informací
Vytvořte nové ovládací prvky vázané na data.

Navažte existující ovládací prvky na data.
Vytvoření vazby ovládacích prvků WPF k datové sadě
Vytvořte ovládací prvky zobrazující související data ve vztahu nadřazený-podřízený, když uživatel vybere nadřazený záznam dat v jednom ovládacím prvku, jiný ovládací prvek pro tento vybraný záznam zobrazí související podřízená data. Zobrazení souvisejících dat v aplikacích WPF
Vytvořte vyhledávací tabulku , která zobrazuje informace z jedné tabulky na základě hodnoty pole cizího klíče v jiné tabulce. Vytváření vyhledávacích tabulek v aplikacích WPF
Navažte ovládací prvek na obrázek v databázi. Vytvoření vazby ovládacích prvků k obrázkům z databáze

Platné cíle pro vyřazení

Položky v okně Zdroje dat lze přetáhnout pouze do platných cílů v návrháři WPF. Existují dva hlavní druhy platných cílů přetažení: kontejnery a ovládací prvky. Kontejner je prvek uživatelského rozhraní, který obvykle obsahuje ovládací prvky. Kontejnerem je například mřížka nebo okno.

Vygenerovaný KÓD a XAML

Když přetáhnete položku z okna Zdroje dat do návrháře WPF, Visual Studio vygeneruje XAML, který definuje nový ovládací prvek vázaný na data (nebo vytvoří vazbu existujícího ovládacího prvku na zdroj dat). Pro některé zdroje dat Visual Studio také vygeneruje kód v souboru kódu, který vyplní zdroj dat dat dat.

V následující tabulce je uveden kód XAML a kód, který Sada Visual Studio generuje pro každý typ zdroje dat v okně Zdroje dat.

Zdroj dat Generování souboru XAML, který váže ovládací prvek na zdroj dat Generování kódu, který vyplní daty zdroj dat
Datová sada Ano Yes
Model EDM (Entity Data Model) Ano Yes
Service Yes No
Object Yes No

Datové sady

Když přetáhnete tabulku nebo sloupec z okna Zdroje dat do návrháře, Visual Studio vygeneruje XAML, který provede následující kroky:

  • Přidá datovou sadu a nový CollectionViewSource do prostředků kontejneru, do které jste položku přetáhli. Jedná se CollectionViewSource o objekt, který lze použít k navigaci a zobrazení dat v datové sadě.

  • Vytvoří datové vazby pro ovládací prvek. Pokud přetáhnete položku na existující ovládací prvek v návrháři, XAML naváže ovládací prvek na položku. Pokud položku přetáhnete do kontejneru, XAML vytvoří ovládací prvek, který byl vybrán pro přetaženou položku, a vytvoří vazbu ovládacího prvku na položku. Ovládací prvek se vytvoří uvnitř nového Grid.

Sada Visual Studio rovněž provede následující změny v souboru s kódem na pozadí:

  • Vytvoří obslužnou rutinu Loaded události pro prvek uživatelského rozhraní, který obsahuje ovládací prvek. Obslužná rutina události vyplní tabulku daty, načte CollectionViewSource z prostředků kontejneru a pak vytvoří první datovou položku jako aktuální položku. Pokud již obslužná rutina Loaded události existuje, Visual Studio přidá tento kód do existující obslužné rutiny události.

Datové modely entit

Když přetáhnete entitu nebo vlastnost entity z okna Zdroje dat do návrháře, Visual Studio vygeneruje XAML, který provede následující akce:

  • Přidá nové CollectionViewSource prostředky kontejneru, do které jste položku přetáhli. Jedná se CollectionViewSource o objekt, který lze použít k navigaci a zobrazení dat v entitě.

  • Vytvoří datové vazby pro ovládací prvek. Pokud přetáhnete položku na existující ovládací prvek v návrháři, XAML naváže ovládací prvek na položku. Pokud položku přetáhnete do kontejneru, XAML vytvoří ovládací prvek, který byl vybrán pro přetaženou položku, a vytvoří vazbu ovládacího prvku na položku. Ovládací prvek se vytvoří uvnitř nového Grid.

Sada Visual Studio rovněž provede následující změny v souboru s kódem na pozadí:

  • Přidá novou metodu, jež vrací dotaz pro entitu, kterou jste přetáhli do návrháře (nebo entitu obsahující vlastnost, kterou jste přetáhli do návrháře). Nová metoda má název Get<EntityName>Query, kde \<EntityName> je název entity.

  • Vytvoří obslužnou rutinu Loaded události pro prvek uživatelského rozhraní, který obsahuje ovládací prvek. Obslužná rutina události volá metodu Get<EntityName>Query , která vyplní entitu daty CollectionViewSource , načte z prostředků kontejneru a pak vytvoří první datovou položku jako aktuální položku. Pokud již obslužná rutina Loaded události existuje, Visual Studio přidá tento kód do existující obslužné rutiny události.

Služby

Když přetáhnete objekt služby nebo vlastnost z okna Zdroje dat do návrháře, Visual Studio vygeneruje XAML, který vytvoří ovládací prvek vázaný na data (nebo vytvoří vazbu existujícího ovládacího prvku na objekt nebo vlastnost). Visual Studio ale negeneruje kód, který vyplní objekt služby proxy daty. Tento kód musíte napsat sami. Příklad, který ukazuje, jak to provést, naleznete v tématu Vytvoření vazby ovládacích prvků WPF k datové službě WCF.

Sada Visual Studio generuje jazyk XAML, který provede následující akce:

  • Přidá nové CollectionViewSource prostředky kontejneru, do kterého jste položku přetáhli. Jedná se CollectionViewSource o objekt, který lze použít k navigaci a zobrazení dat v objektu, který je vrácen službou.

  • Vytvoří datové vazby pro ovládací prvek. Pokud přetáhnete položku na existující ovládací prvek v návrháři, XAML naváže ovládací prvek na položku. Pokud položku přetáhnete do kontejneru, XAML vytvoří ovládací prvek, který byl vybrán pro přetaženou položku, a vytvoří vazbu ovládacího prvku na položku. Ovládací prvek se vytvoří uvnitř nového Grid.

Objekty

Když přetáhnete objekt nebo vlastnost z okna Zdroje dat do návrháře, Visual Studio vygeneruje XAML, který vytvoří ovládací prvek svázaný s daty (nebo vytvoří vazbu existujícího ovládacího prvku na objekt nebo vlastnost). Visual Studio však negeneruje kód pro vyplnění objektu daty. Tento kód musíte napsat sami.

Poznámka:

Vlastní třídy musí být veřejné a ve výchozím nastavení mají konstruktor bez parametrů. Nemůžou být vnořené třídy, které mají v syntaxi tečku. Další informace naleznete v tématu XAML a vlastní třídy pro WPF.

Sada Visual Studio generuje jazyk XAML, který provede následující akce:

  • Přidá nové CollectionViewSource prostředky kontejneru, do kterého jste položku přetáhli. Jedná se CollectionViewSource o objekt, který lze použít k navigaci a zobrazení dat v objektu.

  • Vytvoří datové vazby pro ovládací prvek. Pokud přetáhnete položku na existující ovládací prvek v návrháři, XAML naváže ovládací prvek na položku. Pokud položku přetáhnete do kontejneru, XAML vytvoří ovládací prvek, který byl vybrán pro přetaženou položku, a vytvoří vazbu ovládacího prvku na položku. Ovládací prvek se vytvoří uvnitř nového Grid.

Viz také