私が持っているObservableCollection<A> a_collection;
コレクションは「n」の項目が含まれています。各アイテムAは次のようになります。
public class A : INotifyPropertyChanged
{
public ObservableCollection<B> b_subcollection;
Thread m_worker;
}
基本的に、これはすべてWPFリストビュー+詳細ビューコントロールに接続されておりb_subcollection
、選択したアイテムのを別のリストビューに表示します(双方向バインディング、propertychangedの更新など)。
スレッドの実装を開始したときに、問題が発生しました。全体的なアイデアは、a_collection
ワーカースレッドを使用して「作業を行う」ことで、それぞれb_subcollections
を更新し、GUIに結果をリアルタイムで表示させることでした。
試してみると、DispatcherスレッドだけがObservableCollectionを変更できるという例外が発生し、作業が停止しました。
誰かが問題を説明できますか、そしてそれを回避する方法はありますか?