Use WPF Dispatcher to invoke event handler only when needed
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 Posts
- WPF commands with nested focus scope
- Merging Resource Dictionaries for fun and profit
- UAC shield icon in WPF
- XamlParseException and 256x256 icons
- Outlook/Office iCal feed 400 bad request error with C# WebClient
(Published to the Fediverse as: Use WPF Dispatcher to invoke event handler only when needed #code #wpf #tips How to Invoke or BeginInvoke an event handler to the UI thread using the WPF Dispatcher. )
Add Comment
All comments are moderated. Your email address is used to display a Gravatar and optionally for notification of new comments and to sign up for the newsletter.