Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Adatkötés Sablonokkal

Hasonló előadás


Az előadások a következő témára: "Adatkötés Sablonokkal"— Előadás másolata:

1 Adatkötés Sablonokkal
DataTemplate / INotyfyPropertyChanged interface

2 Adat kötés Az a folyamat, ami kapcsolatot létesít az alkalmazásunk UI- és üzleti logikája között. Egy konkrét elvonatkoztatásban: ha megváltozik az adat UI reprezentációjában bármi, akkor helyes kötési beállítások esetén automatikusan tükröződni fog ez az adaton is.

3 Adat kötés Pl. ha egy TextBox Text tulajdonságát megfelelően hozzákötjük egy Category objektum CategoryName tulajdonságához, majd beírunk valamit a TextBox-ba, akkor az azonnal megjelenik a Category objektum CategoryName tulajdonságában is. Az adatkötés legfőbb előnye, hogy rengeteg “infrastruktúra kódtól” megkímél bennünket.

4 Adatsablonok Adatsablonokkal akkor foglalkozunk, ha valamilyen vezérlőnek, vagy vezérlőknek ismétlődő a tartalma. Pl. :az alkalmazás minden gombjának van egy egyforma része, vagy egy adatkötött listaszerű vezérlő elemeit kívánjuk létrehozni.

5 DataTemplate A vezérlőben megjelenő adatreprezentáció megadására a DataTemplate osztály használatos. A DataTemplate tartalma egy user interfésze tartalma. DataTemplate esetében a DataType tulajdonság hasonló szerepet tölt be, mint Style esetében a TargetType.

6 DataTemplate A template-ek alkalmazhatósága mindig valamilyen Template-re végződő property-hez kapcsolódik, mint pl. Button esetében a ContentTempalate ListBox esetében az ItemTemplate Menu és TreeView esetében a HierarchicalDataTemplate.

7 OneWay Ebben az esetben, ha megváltozik a source property értéke, akkor az automatikusan frissíti a target property értékét, viszont fordítva már nem. Tehát ha én megváltoztatom a Category objektum CategoryName tulajdonságát, az megfog jelenni a TextBox Text tulajdonságában, viszont a TextBox Text tulajdonságának módosítása nem fog megjelenni a Category objektum CategoryName tulajdonságában.

8 One Way Kiválóan alkalmas olyan esetekre, amikor én csak megjeleníteni szeretnék adatokat, de a felhasználói felületen nem szeretném, hogy azok szerkeszthetőek legyenek. Tehát ha nincs szükség monitorozni a változásait a target propertynek, akkor a OneWay mód használatával elkerülhető a felesleges overheadje a TwoWay módnak.

9 TwoWay Ez tipikusan az a kötési mód, amely mindkét irányba jól működik . Teljes interaktivitás és válaszképes UI készítésére kiválóan alkalmas. Érdemes tudni, hogy a legtöbb tulajdonság OneWay módot használ, viszont ez alól kivételt képeznek azok a dependency propertyk, melyek tipikusan valamilyen felhasználó által szerkeszthető funkciót töltenek be

10 TwoWay (mint pl. TextBox.Text, CheckBox.IsChecked, stb.), ahol az alapértelmezett mód TwoWay. Itt pontosan ezért meg is jegyezném, hogy jó gyakorlatnak számít, ha explicit mód jelezzük a kötési irányt és nem bízzuk magunkat a default értékekre. Az, hogy alapértelmezésben egy adott dependency property milyen módot használ a metaadataiból lekérdezhető a GetMetadata metódus segítségével

11 Miből is áll egy WPF data binding

12 INotifyPropertyChanged
Ahhoz, hogy a OneWay, illetve TwoWay mód megfelelően működjenek, szükség van a forrás objektumnak implementálni egy tulajdonság változás kezelő mechanizmust, mint pl. az INotifyPropertyChanged.

13 INotifyPropertyChanged
amely abban az esetben, ha pl. beszúrunk, vagy törlünk valamit a kollekcióból kivált egy collection changed eseményt, melyet a WPF adatkötési motorja képes kezelni és ez alapján a teljes lista újragenerálása nélkül frissíteni azt.

14 Köszönöm a figyelmet !


Letölteni ppt "Adatkötés Sablonokkal"

Hasonló előadás


Google Hirdetések