我有一个ObservableCollection<A> a_collection;
集合包含'n'个元素。每个元素A长这样:
public class A : INotifyPropertyChanged
{
public ObservableCollection<B> b_subcollection;
Thread m_worker;
}
基本上,它全部连接到一个WPF列表视图和显示所选项目的b_subcollection
的详细信息视图控件(双向绑定、属性更改时更新等)。
当我开始实现线程时,问题出现了。整个想法是让整个a_collection
使用它们的工作线程"做事",然后更新各自的b_subcollections
,并使gui实时显示结果。
当我尝试时,我得到了一个异常,说只有Dispatcher线程才能修改ObservableCollection,并且工作停滞了。
有人能解释一下问题,以及如何解决它吗?