【发布时间】:2011-10-17 05:53:25
【问题描述】:
我有一个 ListBox,里面有一个嵌套的 ListBox。两者都将 ObservableCollections 作为其 ItemsSource 集,内部 ListBox 的集合是外部对象的成员...
集合由一个从网络服务收集数据的 BackgroundWorker 填充。我必须从 ObservableCollection 更改为 AsyncObservableCollection 才能从工作人员的代码中添加项目。 AsyncObservableCollection 代码来自这里:Have worker thread update ObservableCollection that is bound to a ListCollectionView
我的问题是内部 ListBox 不断显示重复项。如果它决定复制,它似乎总是复制第一个项目。我不知道为什么会这样。通过附加到集合的 CollectionChanged 事件的事件侦听器,我发现每个项目都会触发一次该事件。
你有什么想法吗?
谢谢, 斯蒂芬
【问题讨论】:
-
你将不得不在这里给我们一些更多的细节。尝试将您的代码缩减为仍然存在此问题的最小示例,然后更新您的问题以包含所有代码。
-
不幸的是,我无法在一个小示例中重现该行为。除此之外,我不允许将我的代码发布到网上,所以我想我必须自己处理这个问题。感谢所有愿意提供帮助的人;)
标签: wpf asynchronous listbox backgroundworker observablecollection