0

使用 WPF、C# 和选项卡式页面窗口。我正在尝试循环浏览表单上的所有控件,但使用 VisualTreeHelper 无法做到这一点。

如果我有一个带有 TabControl 的窗口,并且该选项卡控件上有三个 TabItems,那么从视觉上看,一切正常......

但是,如果我尝试使用可视化树助手,它只会根据活动的单个页面公开内容,而不是所有可能的页面。

关于如何确认所有页面上的内容的任何想法,即使一次只能“可见”一个?

我希望它是我想念的非常简单的东西......

4

1 回答 1

1

如果你翻看TabControl的模板,你会发现TabControl的内容只会是被选中的TabItem:

Content="{TemplateBinding TabControl.SelectedContent}"

这样做是为了优化 TabControl 的性能。由于 tabItems 中的其他控件不在视图中,因此无法在Visual tree. 但是,它们确实存在于Logical Tree. 此链接可能会让您入门 -探索 WPF 逻辑和可视化树

或者作为一种解决方法,请参阅此,在 TabControl 中切换选项卡时保留 Visual 树 - Persist Visual Tree

于 2012-10-01T17:23:29.470 回答