Tudd Intuíció, előadás, adatok kötelező érvényű keretet WPF

Alkalmazástechnikai tulajdonságok DataContext elemek hozzárendelés kötési forrás

Néha több vevővel kell megkötni, hogy ugyanabból a forrásból. Annak érdekében, hogy ne megismételni minden kifejezés a kötődési forrás nevét és valahogy automatizálni ezt a feladatot, a WPF gyakran DataContext tulajdon. Ez a tulajdonság be FrameworkElement osztály és az örökölt minden tagjának ezt derivatívakategóriák. Használata egy alternatív módszer kijelölése forrás objektum vesz részt a kötésben.

Ha a céisejtkötési kifejezést idézet a Source tulajdonság értékeket. A WPF automatikusan keresni először a kötött kifejezést, majd - a szülő elem irányában felfelé logikai gyökere, amíg a forrás nem található. Ha a forrás nem található, a WPF majd csak csendben, mert a kötési mechanizmusa nem generál kivételek. Általában igyekeznek szűkíteni a keresési tartományt, forgalomba tulajdon meghatározása DataContext legközelebbi szülőtároló kiterjedő megköthető vevők.

Keresve a fa, WPF próbál találni egy első környezetadatokat DataContext. nem egyenlő nulla. Ha az adatok összefüggésben találtuk, hogy használják a kötődés, ha nem, a kötelező erőt nem alkalmaz értéket a cél elemet, és nem volt semmi, hogy nem mutatják.

Tegyük fel, hogy van néhány eleme TextBlock ellenőrzés. egyértelműen kapcsolódik az azonos erejű forrás:

De ugyanezek a három TextBlock ellenőrzés. kapcsolódó adatok összefüggésben DataContext StackPanel tartály:

Ha a következő konténer közelében DataContext attribútum nincs megadva, a keresés továbbra is a következő külső tartály, amíg nem talál egy nem zéró adatok DataContext kontextusban vagy keresési sikertelen lesz.

Tab Page3. Használata DataContext tulajdonságokat a cél elemet

A következő példa DataContext tulajdon kerül a kötési vevő.

  • Add a TabControl tartály Page3 egy új lapot, a következő jelölés

Az elem ScrollBar attribútum Maximum = „100” azt jelenti, a felső határérték tartományban, LargeChange = „10” - lépésben áthelyezése a csúszkát a rákattint a területekre, hogy a jobb és bal belőle, SmallChange = „1” - növekmény értékek rákattint a végén sor elemeit . Ebben a példában, semmilyen előnyt DataContext tulajdonság nem ad, hanem egyszerűen osztja kötési expressziós két részre.

  • Az alkalmazás futtatásához - Page3 lapon az alábbi kiadási területen

Tudd Intuíció, előadás, adatok kötelező érvényű keretet WPF

Page4 lapot. A tulajdonságok használatával a szülő elem DataContext

  • Hozzáadása TabControl konténer új lap Page4
  • Mozgás rendeltetési kötési forrása DataContext tulajdonságokat a vevőt a szülő elem következik

elem is örökli az osztály FrameworkElement tartalmaz DataContext tulajdon.

  • Tapasztalattal Page4 lapon - ez nem térnek el a fülek Page3

Page5 lapot. Kötés több vevőkészülék egyetlen forrás nélkül tulajdonságok DataContext

Tekintsük a példát, amikor nem használja a DataContext ingatlan jár viszonylag nehézkes jelölést.

  • Add a TabControl tartály Page5 lapon a következő jelölés
  • Az alkalmazás futtatásához - az lesz az eredmény

Tudd Intuíció, előadás, adatok kötelező érvényű keretet WPF

Page6 lapot. Kötés több vevőkészülék egyetlen forrásból segítségével tulajdonságok DataContext

  • Page6 egy új lapot, és másolja a jelölő példaként preduduschego

Tekintettel arra, hogy már eltávolították duplikált kód ugyanabból a forrásból egy kötelező kifejezése célelemek és tegye rá a DataContext ingatlan a szülő elem, kötelező kódex vált elegáns.

  • Az alkalmazás futtatásához - nézetlapjai Page6 teljesen egybeesik a terület Page5 lap kiadási

Engedje meg, hogy néhány megjegyzést:

Kapcsolódó cikkek