枚举 ListBoxItem 的子元素
实际的视觉效果由数据模板决定。 在运行时,如何迭代 ListBoxItem 的所有视觉元素?
The actual visuals are dictated by a DataTemplate. In runtime, how can I iterate through all the visual elements of a ListBoxItem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
假设您拥有对列表中的
ListBoxItem
之一的引用,则可以使用 VisualTreeHelper 类来枚举它的可视化树。否则,如果您引用了
ListBox
中显示的项目之一,请尝试调用 ItemContainerGenerator.ContainerFromItem() 离开ListBox
(请注意,必须显示该项目才能正常工作,因为ListBox
通常只保留内存中可见的项目)。Assuming that you have a reference to one of the
ListBoxItem
s in the list, you can use the VisualTreeHelper class to enumerate the visual tree of it.Otherwise, if you have a reference to one of the items displayed in the
ListBox
, try calling ItemContainerGenerator.ContainerFromItem() off of theListBox
(note that the item must be displayed for this to work, since theListBox
generally only keeps items that are visible in memory).抛开您需要这样做的原因......
我认为您需要 VisualTreeHelper 类。
Keep aside the reason why you need to do so....
I think you need the VisualTreeHelper class for this.