好的,我知道FrameworkElement
是UIElement
的直接子类,它有一个Parent属性,但面板的子类型为UIElement
,而不是FrameworkElement
(子类型为UIElementCollection
),这似乎意味着您可以直接添加UIElement
s到一个小组。如何获得UIElement的家长?
这就是说,如果你有一个UIElement
并且想知道它是否有一个父面板,我知道如何测试这个的唯一方法是使用VisualTreeHelper
,但这是可视树,而不是逻辑树。 (至少我们知道面板没有模板,所以也许就是这样,但仍然...)
因此除了VisualTreeHelper
之外,有没有人知道如何知道哪个面板是UIElement
的父面板? (...并有任何想法,他们为什么不只是在那里定义一个Parent属性而不是在FrameworkElement
?)
谢谢!
我知道差异。在物理树和逻辑树之间。这不是我问的。我也不能在这里使用LogicalTreeHelper,因为画布很可能是Visual Tree的一部分。不过,我确实看到了你对父母的看法。那么我的观点就是为什么不创建单独的VisualParent呢?猜猜是什么让我无法选择,只能使用VisualTreeHelper(也可能是一个方便的附加方法)来获得父面板。即使在技术上它不是答案,但我仍然将它标记为这样,因为它看起来并不像是一个。 – MarqueIV 2011-02-17 04:26:20