Wpf 枚举ListBoxItem的子元素

Wpf 枚举ListBoxItem的子元素,wpf,datatemplate,listboxitem,Wpf,Datatemplate,Listboxitem,实际的视觉效果由数据模板决定。在运行时,如何遍历ListBoxItem的所有可视元素 假设您对列表中的一个ListBoxItems有引用,您可以使用该类来枚举它的可视树 否则,如果您对列表框中显示的某个项目有引用,请尝试取消列表框(请注意,必须显示该项目才能正常工作,因为列表框通常只保留内存中可见的项目)。请将需要这样做的原因放在一边。

实际的视觉效果由数据模板决定。在运行时,如何遍历ListBoxItem的所有可视元素

假设您对列表中的一个
ListBoxItem
s有引用,您可以使用该类来枚举它的可视树


否则,如果您对
列表框中显示的某个项目有引用,请尝试取消
列表框(请注意,必须显示该项目才能正常工作,因为
列表框通常只保留内存中可见的项目)。

请将需要这样做的原因放在一边。<


我想你需要这个类。

这里有一个例子,答案不适用于我的ItemsControl。在索引0处插入新项后,我可以执行以下操作:var presenter=(ContentPresenter)\u itemsControl.ItemContainerGenerator.ContainerFromIndex(0);不幸的是,VisualTreeHelper.GetChildrenCount(presenter)为零!我制作了一个快速测试应用程序,这对我很有用。您可能想发布一个新问题并提供更多信息。