title: Fire events from different thread
body: <p>In my main window (<em>Thread A</em>), I start a new thread (<em>Thread B</em>) which does some work while the user waits.</p>
  
  <p>Thread B fires events if there is an error or extra information is required from the user, Thread A will listen to these events.</p>
  
  <p>In Thread A's event listener I need to show dialog messages to the user, I have a custom dialog window and show it using <code>dialogWindow.showDialog()</code>. This works fine, but causes an error when I try and set the owner of the dialog, I do this <code>dialogWindow.Owner = Window.GetWindow(this)</code>.</p>
  
  <p>The error that I get is: <em>The calling thread cannot access this object because a different thread owns it.</em></p>
  
  <p><strong>What is the correct way to listen for events that are fired from a different thread?</strong></p>