最佳答案
我得到了一个 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 线程可以修改 Observer ableCollection,因此工作停止了。
Can anyone explain the problem, and how to get around it?