好的,我知道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