[WPF]Dispatcherで別スレッドからUIアクセス
WPFでUIスレッドとは別のスレッドからUIを変更するときの作法。いつもやりかた忘れるのでメモ。formの場合のInvokeRequiredとinvokeに当たる。状況に応じてInvokeをBeginInvokeで非同期にするのもあり。VSでCheckAccessが入力補完対象にならないのはなぜだろう。
if (mycontrol.Dispatcher.CheckAccess()) {
mycontrol.Content = "test";
}
else {
mycontrol.Dispatcher.Invoke((Action)(() =>
{
mycontrol.Content = "test";
}));
}