WPF 装饰器和 ICollectionView 刷新

WPF Adorner and ICollectionView Refresh

我有一个绑定到项目集合的列表框。 每当我在绑定项目的 CollectionView 上调用刷新时,装饰器就会从列表框项目中消失。

有人可以解释为什么以及我如何克服这个问题吗? 我应该在每次刷新后重新添加装饰器吗?

一个装饰器链接到一个特定的元素,在你的例子中,你似乎在装饰 ListBoxItem 个元素。

当您在集合视图上调用 Refresh 方法时,这将导致 ListBox 控件删除其所有现有的 ListBoxItem 子控件并重新创建它们。您的装饰器 "disappearing" 因为它们所装饰的元素已被列表框删除。

您可以重新创建装饰器或尝试找到一些不涉及刷新集合视图的刷新列表框的方法。