LoginSignup
4
4

More than 3 years have passed since last update.

WPFアプリにおいてタイマ処理でUIを更新できない場合の対処法

Posted at

はじめに

本記事は、開発で得た小さなTipsを備忘録として残すことを目的としています。

遭遇した問題

WPFアプリにおいてこちらのタイマクラスを使っている。タイマ時間経過時に実行されるハンドル処理内で、Dispathcerクラスを使ってUI更新をするとUIスレッドにアクセスできず、例外が出てしまう。

対処法

こちらのSystem.Windows.Threading.DispatcherTimerクラスを使えば、タイマ時間経過後の処理は必ずUIスレッドで実施されるため、Dispathcerクラスを使わずとも例外発生せずUI更新できる。
使い方はこちらの記事を参照のこと。

まとめ

遭遇した問題は自分のDispathcerクラスの使い方が不適切で発生している可能性もあるが、タイマ処理内でUI更新処理をすることが初めからわかっている場合は、System.Windows.Threading.DispatcherTimerクラスを使うのが良いと個人的に感じた。

4
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4