Use WPF Dispatcher to invoke event handler only when needed

Updated on Saturday, September 29, 2018

After floundering a bit with the WPF Dispatcher I've come up with a simple way to make sure an event handler executes on the UI thread without paying the overhead of always invoking a delegate.

This has the benefit (for me at least) of being very easy to remember. Hook up the event handler and then if there's a chance it could be called from a different thread wrap it using the pattern above. It's easier to read than an anonymous delegate and much faster than defining a specific delegate for the event in question.

I haven't tested the various methods to see which is the fastest yet… will get round to this at some point.

(Related: Export Google Fit Daily Steps, Weight and Distance to a Google Sheet; Catfood: Klout and Follower; Catfood Software Support)

(You might also like: The Trust Project, Fake News and a Partial Facebook Uninstall; Autumnal Equinox 2014; GDP, The Music Video)

(All Code Posts)