私は、次の試してみました:バックグラウンドスレッドでUIを作成するWPF?
var task = new Task(() =>
{
for (int i=0; i<10; i++) {
//Create new Grid HERE
// Add Table with some dynamic data here..
// print the above Grid here.
}
});
task.ContinueWith((previousTask) =>
{
label.Content = printerStatus(); // will return "Out of Paper", "printing", "Paper jam", etc.
},
TaskScheduler.FromCurrentSynchronizationContext());
label.Content = "Sending to printer";
それは、次のエラーが返されます。多くのUIコンポーネントがこれを必要とするため、呼び出し元のスレッドは、STAである必要があります。..
それは新しいUIオブジェクトのグリッドを作成しようとするとエラーが発生します。
どうすればこの問題を解決できますか?他の方法arroundがあるなら私に知らせてください!
私にサンプルコードを表示できますか?私はこの技術には非常に新しいです。 – user995387
これを使ってタスクが完了したことをどのように知ることができますか? – user995387
基本については[Joe Albahari](http://www.albahari.com/threading/)を読むことをお勧めします。 STAが必要な場合は、スレッドではなくタスクを使用しなければならないので、 'ContinueWith'はありません。代わりにあなたのスレッドメソッドの中から 'Dispatcher.Invoke'を使う必要があります。 –