Ok, in het begin zal je deze termen lichtelijk negeren (ik in ieder geval wel)…

maar uiteindelijk is het belangrijk te weten wat de verschillen tussen deze twee zijn.

Je gaat ze nodig hebben op het moment dat je andere controls gaat opzoeken, en het geeft je meer inzicht in de structuur van de wpf.

We gebruiken als voorbeeld even deze code:

[cc]

Dog
Cat
Fish


[/cc]

De Logical Tree

De logical tree geeft de structuur van de elementen op runtime weer.  Een logical tree kan non-visuele data objecten bevatten, zoals een ListItem.

De logical tree is (bijna) altijd gelijk aan de structuur zoals deze in xaml gedefinieert is.

Hier de helper class om de logical tree te doorlopen.

image

De Visual Tree

De visual tree bestaat uit alle visuele elementen. De visuele tree bevat alle rendering informatie om het uiteindelijke output te genereren.

In principe heb je hier alleen mee te maken als je echt volledige controle wilt hebben om de output te wijzigen, om bijvoorbeeld performance redenen.

Note: routed events reizen met name in de visual tree, en niet in de logical tree!

Hier de helper class om de visual tree te doorlopen.

image

Meer info over de tree’s

Hier kun je een poster downloaden met alle wpf classes erop (en de bijbehorende assembly)

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Add to favorites
  • RSS
  • email
  • Hyves
  • LinkedIn
  • DotNetKicks
  • eKudos
  • Live
  • Slashdot
  • Twitter