Sdílet prostřednictvím


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

Poznámka:

Třídy DataSet a související třídy jsou starší technologie rozhraní .NET Framework z počátku 2000, které umožňují aplikacím pracovat s daty v paměti, zatímco aplikace jsou odpojeny od databáze. Tyto technologie 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ž jsou datové sady ověřenou úspěšnou technologií, doporučeným přístupem pro nové aplikace .NET je použití 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.

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

Svázání existujících ovládacích prvků s daty
Vytvoření vazby ovládacích prvků WPF k datové sadě
Vytvoření ovládacích prvků, které zobrazují související data v relaci nadřazený-podřízený: když uživatel vybere nadřazený datový záznam v jednom ovládacím prvku, zobrazí jiný ovládací prvek související podřízená data pro vybraný záznam. 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
Vázat ovládací prvek k obrázku 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 míst pro umístění v prostředí návrháře WPF. Existují dva hlavní druhy platných cílů odstraňování: kontejnery a ovládací prvky. Kontejner je prvek uživatelského rozhraní, který obvykle obsahuje ovládací prvky. Například mřížka je kontejner a okno také.

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 ve skrytém souboru kódu, který naplní zdroj 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 Vygenerování KÓDU XAML, který sváže ovládací prvek se zdrojem dat Generujte kód, který vyplní zdroj dat
Datová sada Ano Ano
model EDM (Entity Data Model) Ano Ano
Služba Ano Ne
Objekt Ano Ne

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ří datovou vazbu pro ovládací prvek. Pokud položku přetáhnete do existujícího ovládacího prvku v návrháři, XAML sváže ovládací prvek s položkou. 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.

Visual Studio také provede následující změny v souboru kódového zázemí:

  • Vytvoří obslužnou rutinu události Loaded 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 do zdrojů 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 entitě.

  • Vytvoří datovou vazbu pro ovládací prvek. Pokud položku přetáhnete do existujícího ovládacího prvku v návrháři, XAML sváže ovládací prvek s položkou. 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.

Visual Studio také provede následující změny v souboru kódového zázemí:

  • Přidá novou metodu, která vrátí dotaz na 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 události Loaded 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.

Visual Studio vygeneruje XAML, který provede následující kroky:

  • Přidá nový CollectionViewSource ke zdrojům 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ří datovou vazbu pro ovládací prvek. Pokud položku přetáhnete do existujícího ovládacího prvku v návrháři, XAML sváže ovládací prvek s položkou. 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.

Visual Studio vygeneruje XAML, který provede následující kroky:

  • Přidá nové CollectionViewSource do prostředků 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ří datovou vazbu pro ovládací prvek. Pokud položku přetáhnete do existujícího ovládacího prvku v návrháři, XAML sváže ovládací prvek s položkou. 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é