title: How to refresh the UI of a Metro Style app?
body: <p>I am trying to refresh/update the UI of a Metro Style app to reflect changes.<br>
  To redraw the Controls in Windows Forms, you can simply use: </p>
  
  <pre><code>this.Refresh();    
  </code></pre>
  
  <p>How can I achieve a similar result in Metro Style apps?  </p>
  
  <p>Consider this simple example in C#:</p>
  
  <pre><code>private async void Button_Click(object sender, RoutedEventArgs e)
  {
      btnStatus.Content = "Test started";
      Task.Delay(3000); // Wait 3 seconds
      btnStatus.Content = "Test Ended"
  } 
  </code></pre>
  
  <p>What I need to do is: show the 'start' message, wait a few seconds and then show the 'end' message. However, when this runs, btnStatus immediately shows 'TestEnded' - as if the first 2 statements didn't execute. </p>
  
  <p>How can I fix this?  </p>
  
  <p>I have looked at: <a href="https://stackoverflow.com/questions/11111432/how-to-refresh-the-ui-in-a-metro-app">How to refresh the UI in a metro app?</a> but it didn't help.</p>