title: Metro App UI ProgressRing does not update and UI hangs
body: <p>I have a button named <code>bExecute</code> and it's <code>Click</code> event handler has this body:</p>
  
  <pre><code>try
  {
      // Activate the progress ring
      prProgress.Visibility = Visibility.Visible;
      prProgress.IsActive = true;
      bExecute.IsEnabled = false;
  
      // Some Task
      DoTask();
  }
  catch(Exception ex)
  {
      // Do Something
  }
  finally
  {
      // Stop the progress ring
      prProgress.Visibility = Visibility.Collapsed;
      prProgress.IsActive = false;
      bExecute.IsEnabled = true;
  }
  </code></pre>
  
  <p>This method has these problems:</p>
  
  <ul>
  <li>The <strong>UI</strong> appears to <strong>hang</strong> until the task is completed and then resumes as per
  normal.</li>
  <li>ProgressRing never appears to be activated.</li>
  <li>The bExecute Button never appears to be Enabled/Disabled.</li>
  </ul>
  
  <p>I can wrap <code>DoExecute()</code> in a <code>Task.Run()</code> method, this frees up the <strong>UI</strong>, but then you never see the <code>ProgressRing</code> and nor do you see <code>bExecute</code> being Enabled/Disabled.</p>
  
  <p>Any suggestions?</p>