Sdílet prostřednictvím


Vytvoření vazby ovládacích prvků WPF k datům v sadě Visual Studio

 

Publikováno: duben 2016

Data můžete zobrazit uživatelům vaší aplikace pomocí vazby dat na WPF ovládací prvky. Chcete-li vytvořit tyto ovládací prvky vázané na data, můžete přetáhnout položky z zdroje dat okna do návrhář WPF v Visual Studio. Toto téma popisuje některé nejběžnější úlohy, nástroje a třídy, které lze použít k vytvoření vázané na data WPF aplikací.

Obecné informace o tom, jak vytvořit ovládací prvky vázané na data v Visual Studio, naleznete v části Vytvoření vazby ovládacích prvků k datům v sadě Visual Studio. Další informace o WPF datové vazby, viz Data Binding Overview.

Úlohy spojené s vázáním ovládacích prvků WPF k datům

V následující tabulce jsou uvedeny úlohy, které lze provést přetažením položek z zdroje dat okna návrhář WPF.

Úloha Další informace
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 datům v sadě Visual Studio Vytvoření vazby ovládacích prvků WPF k datové sady
Vytvořte ovládací prvky zobrazující související data ve vztahu nadřazený podřízený: Pokud uživatel vybere nadřazený záznam dat v jednom ovládacím prvku, jiný ovládací prvek zobrazí související podřízená data pro vybraný záznam. Zobrazení souvisejících dat v aplikacích WPF
Vytvoření vyhledávací tabulku zobrazující informace z jedné tabulky na základě hodnoty pole cizího klíče v druhé tabulce. Vytváření vyhledávacích tabulek v aplikacích WPF
Vytvoření vazby ovládacího prvku do bitové kopie v databázi. Vytvoření vazby ovládacích prvků k obrázkům z databáze

Platné cíle přetažení

Můžete přetáhnout položky v zdroje dat pouze na platné cíle přetažení v okně návrhář WPF. Existují dva hlavní druhy platné cíle přetažení: kontejnery a ovládací prvky. Kontejner je prvek uživatelského rozhraní, který obvykle obsahuje ovládací prvky. Například mřížky je kontejner, a proto je okno.

Vygenerovaný soubor XAML a kód

Při přetažení položky z zdroje dat okna návrhář WPF, Visual Studio generuje XAML který definuje nový ovládací prvek vázaný na data (nebo naváže existující ovládací prvek na zdroj dat). Pro některé zdroje dat Visual Studio také generuje kód v souboru kódu, který vyplní daty zdroj s daty.

Následující tabulka uvádí XAML a kód, který Visual Studio generuje pro každý typ zdroje dat v zdroje dat okna.

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é sady Ano Ano
Entity Data Model Ano Ano
Služba Ano Ne
Objekt Ano Ne

Datové sady

Při přetažení tabulky nebo sloupce z zdroje dat do návrháře, Visual Studio generuje XAML který provede následující akce:

  • Přidá datovou sadu a nový CollectionViewSource k prostředkům kontejneru jste položku přetáhli.CollectionViewSource Je objekt, který lze použít k procházení 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 přetáhnete položku do kontejneru, XAML vytvoří ovládací prvek, který byl vybrán pro přetaženou položku a naváže ovládací prvek na položku. Ovládací prvek je vytvořen uvnitř nové Grid.

Visual Studio rovněž provede následující změny do souboru kódu na pozadí:

  • Vytvoří Loaded obslužné rutiny události pro Uživatelské rozhraní element, který obsahuje ovládací prvek. Obslužná rutina události vyplní tabulku daty, načte CollectionViewSource z kontejneru prostředky a potom provede první datovou položku v aktuální položce. Pokud Loaded obslužná rutina události již existuje, Visual Studio přidá tento kód do existující obslužné rutiny události.

Modely Entity Data Model

Při přetažení entity nebo vlastnosti entity z zdroje dat do návrháře, Visual Studio generuje XAML který provede následující akce:

  • Přidá nový CollectionViewSource k prostředkům kontejneru jste položku přetáhli.CollectionViewSource Je objekt, který lze použít k procházení 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 přetáhnete položku do kontejneru, XAML vytvoří ovládací prvek, který byl vybrán pro přetaženou položku a naváže ovládací prvek na položku. Ovládací prvek je vytvořen uvnitř nové Grid.

Visual Studio rovněž provede následující změny do souboru kódu na pozadí:

  • Přidá novou metodu, která 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 GetEntityNamedotazu, kde EntityName je název entity.

  • Vytvoří Loaded obslužné rutiny události pro Uživatelské rozhraní element, který obsahuje ovládací prvek. Obslužná rutina události zavolá metodu GetEntityNameQuery, aby vyplnila entitu daty, načte CollectionViewSource z kontejneru prostředky a potom provede první datovou položku v aktuální položce. Pokud Loaded obslužná rutina události již existuje, Visual Studio přidá tento kód do existující obslužné rutiny události.

Služby

Při přetažení objektu služby nebo vlastnosti z zdroje dat do návrháře, Visual Studio generuje XAML vytvoří ovládací prvek vázaný na data (nebo naváže existující ovládací prvek na objekt či vlastnost). Však Visual Studio negeneruje kód, který vyplní daty objekt služby serveru proxy. 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 služby WCF data Service.

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

  • Přidá nový CollectionViewSource k prostředkům kontejner, do kterého jste položku přetáhli.CollectionViewSource Je objekt, který lze použít k procházení 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 přetáhnete položku do kontejneru, XAML vytvoří ovládací prvek, který byl vybrán pro přetaženou položku a naváže ovládací prvek na položku. Ovládací prvek je vytvořen uvnitř nové Grid.

Objekty

Při přetažení objektu nebo vlastnosti z zdroje dat do návrháře, Visual Studio generuje XAML vytvoří ovládací prvek vázaný na data (nebo naváže existující ovládací prvek na objekt či vlastnost). Však Visual Studio nevygeneruje 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 musí mít výchozí konstruktor. Nemohou 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 generuje XAML který provede následující akce:

  • Přidá nový CollectionViewSource k prostředkům kontejner, do kterého jste položku přetáhli.CollectionViewSource Je objekt, který lze použít k procházení 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 přetáhnete položku do kontejneru, XAML vytvoří ovládací prvek, který byl vybrán pro přetaženou položku a naváže ovládací prvek na položku. Ovládací prvek je vytvořen uvnitř nové Grid.

Viz také

Vytvoření vazby ovládacích prvků k datům v sadě Visual Studio