I am using Dispatcher to switch to UI thread from external like this
Application.Current.Dispatcher.Invoke(myAction);
But I sa
When using WPF, the SynchronizationContext.Current object is of type DispatcherSynchronizationContext which is actually just a wrapper around the Dispatcher object and the Post and Send methods just delegate to Dispatcher.BeginInvoke and Dispatcher.Invoke.
So even if you decide to use SynchronizationContext I think you end up calling dispatcher behind the scenes.
Besides I think it is a bit cumbersome to use SynchronizationContext as you have to pass a reference to the current context to all threads that need to call into your UI.