我希望能够遍历可视 ui 树以查找 ID 绑定到可视元素的 Tag 属性的元素。
我想知道我是怎么做到的。控件没有要遍历的子项。
我开始使用 LogicalTreeHelper.GetChildren,它似乎按预期工作,直到我点击 TreeView 控件......然后 LogicalTreeHelper.GetChildren 不返回任何孩子。
注意:目的是找到与数据项对应的可视化 UI 元素。也就是说,给定项目的 ID,找到显示它的 UI 元素。
编辑:我显然没有很好地解释这一点。我将一些数据对象绑定到 TreeView 控件,然后希望在给定业务对象 ID 的情况下以编程方式选择特定项目。我不明白为什么遍历可视化树并找到我想要的元素如此困难,因为数据对象的 ID 位于相应可视元素的 Tag 属性中。我正在使用 Mole,并且能够在其标签中找到具有适当 ID 的 UI 元素。我只是在代码中找不到视觉元素。LogicalTreeHelper 不会遍历树中的任何项目。ItemContainerGenerator.ContainerFromItem 也不检索树视图中的项目的任何内容。