Megosztás a következőn keresztül:


WPF-vezérlők kötése az adatokhoz .NET-keretrendszer-alkalmazásokban

Megjegyzés:

Az DataSet osztály és a kapcsolódó osztályok a 2000-es évek elejétől származó régi .NET-keretrendszer-technológiák, amelyek lehetővé teszik az alkalmazások számára a memóriában lévő adatokkal való munkát, miközben az alkalmazások leválasztva vannak az adatbázisról. A technológiák különösen hasznosak az olyan alkalmazások esetében, amelyek lehetővé teszik a felhasználók számára az adatok módosítását és a módosítások visszaállítását az adatbázisba. Bár az adathalmazok bizonyítottan sikeres technológiának számítanak, az új .NET-alkalmazásokhoz ajánlott az Entity Framework Core használata. Az Entity Framework természetesebb módot kínál a táblázatos adatok objektummodellként való használatához, és egyszerűbb programozási felülettel rendelkezik.

Adatokat jeleníthet meg az alkalmazás felhasználói számára az adatok WPF-vezérlőkhöz való kötésével. Az adathoz kötött vezérlők létrehozásához az Adatforrások ablak elemeit áthúzhatja a Visual Studio WPF-tervezőjére. Ez a témakör az adatkötésű WPF-alkalmazások létrehozásához használható leggyakoribb feladatokat, eszközöket és osztályokat ismerteti.

Az adathoz kötött vezérlők Visual Studióban való létrehozásáról a Visual Studióban az adatokhoz kötött kötés vezérlői című témakörben olvashat. A WPF-adatkötésről további információt az Adatkötés áttekintése című témakörben talál.

A WPF-vezérlők adatokhoz való kötésében részt vevő feladatok

Az alábbi táblázat azokat a feladatokat sorolja fel, amelyeket az Adatforrások ablakból a WPF Designerbe húzva el lehet végezni.

Feladatok További információ
Hozzon létre új, adathoz kötött vezérlőket.

Meglévő vezérlők kötése adatokhoz.
WPF-vezérlők kötése egy adatkészlethez
Olyan vezérlők létrehozása, amelyek egy szülő-gyermek kapcsolatban jelenítik meg a kapcsolódó adatokat: amikor a felhasználó kiválaszt egy szülőadatrekordot az egyik vezérlőben, egy másik vezérlő megjeleníti a kijelölt rekord kapcsolódó gyermekadatait. Kapcsolódó adatok megjelenítése WPF-alkalmazásokban
Hozzon létre egy keresési táblát , amely az egyik tábla adatait jeleníti meg egy másik tábla idegenkulcs-mezőjének értéke alapján. Keresési táblák létrehozása WPF-alkalmazásokban
Vezérlőelem kötése egy adatbázis képéhez. Vezérlőelemek kötése adatbázisból származó képekhez

Érvényes dobási célok

Az Adatforrások ablakban lévő elemeket csak a WPF Designer érvényes célpontjaira húzhatja. Az érvényes dobási céloknak két fő típusa van: tárolók és vezérlők. A tárolók olyan felhasználói felületi elemek, amelyek általában vezérlőket tartalmaznak. Például, egy háló egy tartály, ahogy egy ablak is.

Generált XAML és kód

Amikor egy elemet az Adatforrások ablakból a WPF Designerbe húz, a Visual Studio létrehoz egy XAML-t, amely egy új, adathoz kötött vezérlőt határoz meg (vagy egy meglévő vezérlőt köt az adatforráshoz). Egyes adatforrások esetében a Visual Studio a kód mögötti fájlban is létrehoz kódot, amely az adatforrást adatokkal tölti ki.

Az alábbi táblázat az adatforrások ablakában az egyes adatforrástípusokhoz létrehozott XAML-t és kódot sorolja fel.

Adatforrás Olyan XAML létrehozása, amely egy vezérlőt az adatforráshoz köt Az adatforrást adatokkal kitöltő kód létrehozása
Adatkészlet Igen Igen
Entitás adatmodellje Igen Igen
Szolgáltatás Igen Nem
Objektum Igen Nem

Adatkészletek

Amikor egy táblát vagy oszlopot az Adatforrások ablakból a tervezőbe húz, a Visual Studio az alábbi XAML-t hozza létre:

  • Hozzáadja az adathalmazt és egy új CollectionViewSource-t annak a tárolónak az erőforrásaihoz, amelybe az elemet húzta. Ez CollectionViewSource egy objektum, amellyel navigálhat és megjelenítheti az adatokat az adathalmazban.

  • Adatkötést hoz létre egy vezérlőhöz. Ha az elemet egy meglévő vezérlőelemre húzza a tervezőben, az XAML a vezérlőt az elemhez köti. Ha az elemet egy tárolóba húzza, az XAML létrehozza az áthúzott elemhez kijelölt vezérlőt, és a vezérlőt az elemhez köti. Az irányítást egy új Grid-ben hozzák létre.

A Visual Studio a következő módosításokat is végrehajtja a kód mögötti fájlon:

  • Létrehoz egy eseménykezelőt Loaded a vezérlőt tartalmazó felhasználói felületi elemhez. Az eseménykezelő kitölti a táblát adatokkal, lekéri a CollectionViewSource a tároló erőforrásaiból, majd az első adatelemet teszi az aktuális elemmé. Loaded Ha már létezik eseménykezelő, a Visual Studio hozzáadja ezt a kódot a meglévő eseménykezelőhöz.

Entitásadat-modellek

Ha egy entitást vagy entitástulajdonságot az Adatforrások ablakból a tervezőbe húz, a Visual Studio az alábbi XAML-t hozza létre:

  • Újat CollectionViewSource ad hozzá annak a tárolónak az erőforrásaihoz, amelybe az elemet húzta. Ez CollectionViewSource egy objektum, amely az entitásban lévő adatok navigálására és megjelenítésére használható.

  • Adatkötést hoz létre egy vezérlőhöz. Ha az elemet egy meglévő vezérlőelemre húzza a tervezőben, az XAML a vezérlőt az elemhez köti. Ha az elemet egy tárolóba húzza, az XAML létrehozza az áthúzott elemhez kijelölt vezérlőt, és a vezérlőt az elemhez köti. Az irányítást egy új Grid-ben hozzák létre.

A Visual Studio a következő módosításokat is végrehajtja a kód mögötti fájlon:

  • Hozzáad egy új metódust, amely visszaadja a tervezőbe húzott entitás lekérdezését (vagy azt az entitást, amely a tervezőre húzott tulajdonságot tartalmazza). Az új metódus neve Get<EntityName>Query, ahol \<EntityName> az entitás neve szerepel.

  • Létrehoz egy eseménykezelőt Loaded a vezérlőt tartalmazó felhasználói felületi elemhez. Az eseménykezelő meghívja a metódust az Get<EntityName>Query entitás adatokkal való kitöltésére, a CollectionViewSource tároló erőforrásaiból való lekérésére, majd az első adatelem aktuális elemként való betöltésére. Loaded Ha már létezik eseménykezelő, a Visual Studio hozzáadja ezt a kódot a meglévő eseménykezelőhöz.

Szolgáltatások

Amikor egy szolgáltatásobjektumot vagy tulajdonságot az Adatforrások ablakból a tervezőbe húz, a Visual Studio létrehoz egy XAML-t, amely egy adathoz kötött vezérlőt hoz létre (vagy egy meglévő vezérlőt köt az objektumhoz vagy tulajdonsághoz). A Visual Studio azonban nem hoz létre olyan kódot, amely kitölti a proxyszolgáltatás-objektumot adatokkal. Ezt a kódot saját maga kell írnia. Ennek módját bemutató példa: WPF-vezérlők kötése WCF-adatszolgáltatáshoz.

A Visual Studio az alábbi XAML-t hozza létre:

  • Újat CollectionViewSource ad hozzá annak a tárolónak az erőforrásaihoz, amelybe az elemet húzta. Ez CollectionViewSource az objektum a szolgáltatás által visszaadott objektumban való navigálásra és az adatok megjelenítésére használható.

  • Adatkötést hoz létre egy vezérlőhöz. Ha az elemet egy meglévő vezérlőelemre húzza a tervezőben, az XAML a vezérlőt az elemhez köti. Ha az elemet egy tárolóba húzza, az XAML létrehozza az áthúzott elemhez kijelölt vezérlőt, és a vezérlőt az elemhez köti. A vezérlő Grid egy új környezetben jön létre.

Tárgyak

Amikor az Adatforrások ablakból a tervezőbe húz egy objektumot vagy tulajdonságot, a Visual Studio létrehoz egy XAML-t, amely egy adathoz kötött vezérlőt hoz létre (vagy egy meglévő vezérlőt köt az objektumhoz vagy tulajdonsághoz). A Visual Studio azonban nem hoz létre kódot az objektum adatokkal való kitöltéséhez. Ezt a kódot saját maga kell írnia.

Megjegyzés:

Az egyéni osztályoknak nyilvánosnak kell lenniük, és alapértelmezés szerint paraméterek nélküli konstruktorsal kell rendelkezniük. Nem lehetnek beágyazott osztályok, amelyek szintaxisában "pont" szerepel. További információ: XAML és egyéni osztályok a WPF-hez.

A Visual Studio az alábbi XAML-t hozza létre:

  • Újat CollectionViewSource ad hozzá annak a tárolónak az erőforrásaihoz, amelybe az elemet húzta. Ez CollectionViewSource egy objektum, amely az objektumban lévő adatok navigálására és megjelenítésére használható.

  • Adatkötést hoz létre egy vezérlőhöz. Ha az elemet egy meglévő vezérlőelemre húzza a tervezőben, az XAML a vezérlőt az elemhez köti. Ha az elemet egy tárolóba húzza, az XAML létrehozza az áthúzott elemhez kijelölt vezérlőt, és a vezérlőt az elemhez köti. Az irányítást egy új Grid-ben hozzák létre.

Lásd még