TaskScheduler.FromCurrentSynchronizationContextメソッドでTask実行後にUIを操作する

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
tpl-with-neko

WPFのTPL(Task Parallel Library)ではTask.Factory.StartNewメソッドを使って簡単に別スレッドでタスクを実行させることができます。

しかし、終了時にUIスレッドのコントロールなどを操作してユーザーにタスクが終了したいことを通知したいことがよくあります。

こういった場合に使えるTaskScheduler.FromCurrentSynchronizationContextメソッドの使い方をご紹介します。

といっても使い方は簡単です。Task.ContinueWithメソッドの第2引数にこのメソッドの戻り値を渡すだけです。

ContinueWithメソッドのActionの中でDispatcher.Invokeを呼んでもいいのですが、このほうが階層が浅くていいですね。

ただまぁ、書き方というかメソッド名が冗長な気はしますが。

最後までお読みいただきありがとうございました m(_ _)m

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク