私はMVVM(C#/ WPF)アプリケーションを持っていて、バックグラウンドスレッドでViewModels(INotifyPropertyChange)とObservableCollectionsを作成して埋めたいと思っています。バックグラウンドスレッドでViewModelsおよびObservableCollectionを作成または塗りつぶすことはできますか?
私がそうするならば、私は例外を取得:「のDependencyObjectと同じスレッド上でDependencySourceを作成する必要があります。」
Dispatcherを使用してUIスレッド内のアクションを移動する方法を知っています。しかし、UIスレッドに何を移さなければならないかはわかりません。私には以下の5例があります。
var vm = new ViewModel(); // implements INotifyPropertyChange
vm.Name = "name"; // Fires PropertyChange
var oc = new ObservableCollection<ViewModel>();
oc.Add(vm);
var oc2 = new ObservableCollection<ViewModel>(list); // while list is List of ViewModel
は、「UIスレッドに移動しなければならないものを私に明確ではありません」。 –
私はあなたが[フリーズ](https://msdn.microsoft.com/en-us/library/ms750509(v = vs.110).aspx)オブジェクトをバックグラウンドスレッドで変更する前にこれを行うことができると思います。 [この記事をチェックしてください](http://stackoverflow.com/a/26361859/1118082) –
"私には次の5つのケースがあります" - その意味は何ですか?バックグラウンドスレッドを使用するコードはどこにあり、どの行がエラーをスローしていますか? – Paparazzi