So, Hingle Mc Cringleberry decided to use these new APIs, specifically the async/await APIs, to modify the old sample. I mean, that’s why we do multithreading in the first place, right.
So let’s takes a look at the sample and see if we can identify the problem.
Snoop is the open source WPF spying utility created by Pete Blois and now maintained by Team Snoop (Cory Plotts, Dan Hanan, Andrei Kashcha, Maciek Rakowski, and Jason Jibben). The most recent version of Snoop, Snoop 2.8.0, was released on October 4th, 2012.
It allows you to spy/browse the visual tree of a running WPF application (without the need for a debugger) … Go to the download page on Code Plex to download and learn more about it.
Specifically, these are the options used with dependency properties that affect layout. If you are not familiar with these metadata options, here’s a quick rundown…
In WPF, a dependency property on a framework element can be registered with one or more metadata options.
One question that comes up all the time is the situation where the application you are trying to Snoop, isn't appearing in the application chooser (i.e.
Most notably, with this release, Bailey Ling has added a Power Shell scripting tab.
The Snoop repository has been converted to Git and is now being hosted in two public repositories (which will be kept in sync) … Here are the links to the current Snoop Tips & Tricks: #1, #2, #3.
I recently received a question from a person we will refer to as “Hingle Mc Cringleberry”, that was related to an old post I did back in 2011 showing how to use the Extended WPF Toolkit’s Busy Indicator control, back when I was the project owner.
In that post, I showed how to use the Background Worker to create a multi threaded application and report progress back to the UI. Well, a lot of things have changed since then, and there are new APIs available to perform multithreading in WPF applications. The problem was that even though the multithreading code was working perfectly, the UI would freeze during the process, although it should remain responsive.