Smart Dispatcher – from Background Thread to UI Thread


Sometimes your code runs on a background thread, for example, and you need to do something to the UI. But you are on the background thread and can’t affect the UI from there, so what do you do? You use the Dispatcher (or SynchronizationContext class) to help you get back to the UI thread.

Here is a version from John Papa

public class SmartDispatcher
    public static void BeginInvoke(Action action)
        if (Deployment.Current.Dispatcher.CheckAccess()
            || DesignerProperties.IsInDesignTool)


SmartDispatcher.BeginInvoke(() =>
    IsBusy = false;
    Widgets = widgetsResponseSet;

For a more completed version which integrate with the a PropertyChanged base class check out Jeff Wilcox’s implementation here


3 thoughts on “Smart Dispatcher – from Background Thread to UI Thread

  1. Посмотрите на досуге возможно вы захотите себе его купить. А также: сборные дома по финской технологии, быстровозводимые дома в ростове, проекты деревянных домов бесплатно в украине.

  2. О любви много рассказано в нашем ярком мире. Однако любовь в искусстве кино – проявление того настоящего чувствах, о котором рассуждают люди разных полов и возрастов. Действительно, порой увидишь новое кино на большом экране и начинаешь думать есть ли любовь на самом деле…

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s