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