使用WPF,C#和标签页窗口。我正在尝试循环遍历表单上的所有控件,但它没有使用VisualTreeHelper这样做。
如果我有一个带TabControl的窗口,并且该选项卡控件上有三个TabItems,从视觉上看,一切正常......
但是,如果我尝试使用可视化树助手,它只会根据活动的单个页面而不是所有可能的页面公开内容。
关于如何确认所有页面上的内容的任何想法,即使一次只能有一个“可见”?
我希望它很简单,我很想念......
答案 0 :(得分:1)
如果查看TabControl的模板,您会发现TabControl的内容只是选定的TabItem:
Content="{TemplateBinding TabControl.SelectedContent}"
这样做是为了优化TabControl的性能。由于tabItems中的其他控件不在视图中,因此无法在Visual tree
中找到。但是,它们确实存在于Logical Tree
中。此链接可能会让您入门 - Exploring WPF logical and visual tree
或者作为解决方法参考,在TabControl中切换选项卡时保留Visual树 - Persist Visual Tree