考虑一个已经加载并呈现的具有三个选项卡的 TabControl,其中选定的选项卡是索引 1(中间一个):
选项卡 1:有一个文本框
选项卡 2:有两个文本框
选项卡 3:具有三个文本框
如果我使用 VisualTreeHelper 遍历 selectedItem 的可视化树,我将在 TabControl 的子项中获得两个文本框。
I want to iterate again when the tab selection changes and access the new tab's controls. 如果我切换到标签索引 2,我应该使用 VisualTreeHelper 找到三个文本框。
正常的解决方案是订阅选择更改事件并通过树来获取新显示的控件。问题是,此时此刻,视觉树仍然有旧选项卡,使得这个搜索毫无价值。
如何拦截显示新 TabItem 并触发我的搜索的时刻?
我正在创建一个动态验证引擎,它监视给定 UI 的所有输入控件,即使它因 ContentControl 模板更改或 TabControl 选定选项卡更改而发生更改......我希望你能得到图片。
有任何想法吗?