title: Display "Wait" screen in WPF
body: <p>I am trying to display a please wait dialog for a long running operation. The problem is since this is single threaded even though I tell the WaitScreen to display it never does. Is there a way I can change the visibility of that screen and make it display immediately?  I included the Cursor call as an example. Right after I call this.Cursor, the cursor is updated immediately. This is exactly the behavior I want.</p>
  
  <pre><code>private void Button_Click(object sender, RoutedEventArgs e)
  {
    this.Cursor = System.Windows.Input.Cursors.Pen;
    WaitScreen.Visibility = Visibility.Visible;
  
    // Do something long here
    for (Int32 i = 0; i &lt; 100000000; i++)
    {
      String s = i.ToString();
    }
  
    WaitScreen.Visibility = Visibility.Collapsed;
    this.Cursor = System.Windows.Input.Cursors.Arrow; 
  }
  </code></pre>
  
  <p>WaitScreen is just a Grid with a Z-index of 99 that I hide and show.</p>
  
  <p>update: I really don't want to use a background worker unless I have to. There are a number of places in the code where this start and stop will occur.</p>