Taskを使って非同期処理 7:UIコンポーネントの操作 GUIアプリケーションで時間のかかる処理を行う場合、処理が終了するまでUIがフリーズしてしまします。 これを避けるためには時間のかかる処理を非同期処理する必要がありますが、UIコンポーネントの操作はUIスレッドから行う必要があります。(他のスレッドからUIコンポーネントを操作すると例外が発生してしまいます。) これはTaskで非同期処理を行う場合も同じです。そのため、時間のかかる部分は別スレッドで処理を行い、UIコンポーネントを操作する場合だけUIスレッドで処理を行うようにする必要があります。 UIで非同期処理といったらプログレスバーの処理でしょう。 というわけで、BackgroundWorkerを使わずにTaskを使ってプログレスバーを操作してみましょう。 ---- XAML ------------------------