我有一个要求可以访问任何给定视图中的特定视觉元素。这对于 xaml 中静态声明的项目很容易,因为它们随时可用。但是,数据模板化的 ItemsControls 在运行时生成它们的可视化树。例如,TabControl
绑定到子 ViewModel 的 Collection。
一旦视图由ItemContainerGenerator
. 我尝试连接到 上的StatusChanged
事件ItemContainerGenerator
并且它成功触发,并且我可以成功获取(在 a 的情况下TabControl
)TabItem
容器。但是,当我使用它VisualTreeHelper
来获取它的孩子时,它是空的。
有什么原因导致的视觉树TabItem
是空的?是否有另一个事件我应该挂钩来实现这一目标?