I’ve updated my WPF SkinBuilder utility to fix a couple issues it had with data binding.  The fix involved WPF’s equivalent of “Application.DoEvents”.  This might be the most compact version of it yet:

Dispatcher.CurrentDispatcher.Invoke( DispatcherPriority.Background, (Action)delegate {} );

Basically it just blocks operation until all important processing is complete (anything with a DispatcherPriority higher than ‘Background’).