はじめに
本記事は、開発で得た小さなTipsを備忘録として残すことを目的としています。
遭遇した問題
WPFアプリにおいてこちらのタイマクラスを使っている。タイマ時間経過時に実行されるハンドル処理内で、Dispathcerクラスを使ってUI更新をするとUIスレッドにアクセスできず、例外が出てしまう。
対処法
こちらのSystem.Windows.Threading.DispatcherTimerクラスを使えば、タイマ時間経過後の処理は必ずUIスレッドで実施されるため、Dispathcerクラスを使わずとも例外発生せずUI更新できる。
使い方はこちらの記事を参照のこと。
まとめ
遭遇した問題は自分のDispathcerクラスの使い方が不適切で発生している可能性もあるが、タイマ処理内でUI更新処理をすることが初めからわかっている場合は、System.Windows.Threading.DispatcherTimerクラスを使うのが良いと個人的に感じた。