[WPF]Dispatcherで別スレッドからUIアクセス

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