Ok, sé que FrameworkElement
, que es una subclase directa de UIElement
, tiene una propiedad Parent, pero paneles tienen hijos de tipo UIElement
, no FrameworkElement
(niños es de tipo UIElementCollection
) que parece que significaría puede agregar UIElement
s directamente a un Panel.¿Cómo puede obtener el padre de un UIElement?
Dicho esto, si tiene un UIElement
y desea ver si tiene un elemento primario que sea un panel, la única manera que conozco de probarlo es con el VisualTreeHelper
, pero ese es el árbol visual, no el árbol lógico. (Al menos sabemos que un Panel no tiene una plantilla así que tal vez ese sea el camino, pero aún así ...)
Así que además del VisualTreeHelper
, ¿alguien sabe cómo saber qué panel es el padre de un UIElement
? (... y tienen alguna idea de por qué no acaba de definir una propiedad Parent allí en vez de en FrameworkElement
?)
Gracias!
sé el diff. entre el árbol físico y el árbol lógico. Eso no es lo que pregunté. Tampoco puedo usar LogicalTreeHelper aquí ya que el lienzo puede ser parte del Visual Tree. Sin embargo, veo tu punto sobre el padre. Mi argumento allí sería ¿por qué no crear VisualParent por separado también entonces? Adivino a qué se reduce si no tengo más remedio que usar el VisualTreeHelper (y tal vez un método adjunto para mayor comodidad) para obtener el panel principal. Y aunque técnicamente no es la respuesta, lo estoy marcando como tal de todos modos porque no parece que exista. – MarqueIV