2012-10-01 28 views
0

使用WPF,C#和選項卡式頁面窗口。我試圖循環顯示窗體上的所有控件,但是它未能通過VisualTreeHelper實現。用於頁面框架的C#WPF VisualTree

如果我有上有一個TabControl的一個窗口,並在該選項卡控三米的TabItems,在視覺上,這一切工作正常...

但是,如果我嘗試使用可視化樹的幫手,它只有根據哪個SINGLE頁面處於活動狀態顯示內容,而不是所有可能的頁面。

關於如何在所有頁面上確認什麼的任何想法,即使只有一個可以一次「可見」?

我希望它的東西很簡單,我失蹤...

回答

1

如果你通過的TabControl的模板,你會發現的TabControl的內容將只選定的TabItem:

Content="{TemplateBinding TabControl.SelectedContent}" 

這樣做是爲了優化TabControl的性能。由於tabItems中的其他控件不在視圖中,因此無法在Visual tree中找到。但是,它們確實存在於Logical Tree中。此鏈接可能讓你開始 - Exploring WPF logical and visual tree

或者作爲一種解決方法請參考本,堅持可視化樹,而在TabControl的切換標籤 - Persist Visual Tree

+0

邏輯樹是解決...謝謝。完美工作 – DRapp

+0

很高興幫助.. :) –