4
でブロックするメッセージボックスを表示するには、.NET 4タスク・ライブラリーを使用して、私持っている私のWPFアプリケーションに次のコード:それが正常に継続をトリガし、例外が発生した場合にメッセージボックスを表示WPF
Task task = Task.Factory.StartNew(() => {
DoInitialProcess();
});
task.ContinueWith(t =>
Dispatcher.BeginInvoke((Action)(() => {
MessageBox.Show("Error: " + t.Exception.InnerExceptions[0].Message);
})), TaskContinuationOptions.OnlyOnFaulted);
、メインUIスレッドの入力をブロックしません。
メインのUIスレッドをブロックしないのはなぜですか?そうするための最良の方法は何ですか?
ありがとうございました。どういうわけか、私はUIとは別のスレッド上にあったことが分かりました。あなたが提案するように、ウィンドウの作成時にUI TaskSchedulerを取得する必要がありました。一度それをしたら、あなたのコードは完璧に動作しました。再度、感謝します。 – Sako73