Comment pouvez-vous obtenir le parent d'un UIElement?
Ok, je sais que FrameworkElement
, qui est une sous-classe directe de UIElement
, a une propriété Parent, mais les Panneaux ont les enfants de type UIElement
, pas FrameworkElement
(les Enfants est de type UIElementCollection
) qui semble-t-il signifierait que vous pouvez ajouter UIElement
s directement à un Panneau.
Cela dit, si vous avez un UIElement
et que vous souhaitez voir s'il a un parent qui est un groupe spécial, la seule façon que je sais comment faire pour tester c'est avec le VisualTreeHelper
, mais c'est l'arbre visuel, pas l'arborescence logique. (Nous savons au moins un Panneau n'a pas un modèle peut-être que c'est de cette façon, mais quand même...)
Donc apartir de la VisualTreeHelper
, personne ne sait comment faire pour savoir qui est la mère d'un UIElement
? (...et des idées pourquoi ils n'ont pas, il suffit de définir une propriété Parent de là, au lieu de sur FrameworkElement
?)
Merci!
OriginalL'auteur MarqueIV | 2011-02-15
Vous devez vous connecter pour publier un commentaire.
Bien, si vous avez besoin de trouver une logique parent, vous pouvez simplement utiliser
LogicalTreeHelper
de la même manière queVisualTreeHelper
.Comme pour "...et vous avez des pensées pourquoi ils n'ont pas, il suffit de définir une propriété Parent de là, au lieu de sur
FrameworkElement
?". Fondamentalement, la notion de "Logique de l'Arbre" est présenté sur laFrameworkElement
niveau. Voir http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.aspx (voir Remarques) pour les détails de ceFrameworkElement
ajoute àUIElement
. Voici ce qu'il dit à propos d'un arbre Logique:OriginalL'auteur Pavlo Glazkov