title: Callback after a thread.Start() finished?
body: <p>I've a small question</p>
  
  <p>I've a WPF application, and one method takes some times(it send informations through WCF services). I would like to do this in another thread than the GUI thread.</p>
  
  <p>The problem:</p>
  
  <p>The GUI ask to services, which asks to a datastore, which give a new transaction manager, which communicate with the WCF service.</p>
  
  <p>The datastore objects have the GUI thread as owner.</p>
  
  <p>I would like, in the transaction manger, do something like this:</p>
  
  <pre><code>public void MyMethod(abcdef){
  //Income with the GUI thread
  //Launch a thread with my action which tooks times
  //update my objects with the result(Has to be done with the GUI thread)
  </code></pre>
  
  <p>But I've no GUI element here on which I can do a XYZ.Dispatch or Invoke or BeginInvoke. But when I start, I know the GUI thread reference. The problem is that I'm going to have thread  Owner exceptions.</p>
  
  <p>I've some constraints:</p>
  
  <ul>
  <li>I cannot have a GUI object to do a begin Invoke here</li>
  <li>I cannot set that the datastore has non-gui datastore</li>
  <li>I need that this call is non-blocking</li>
  <li>I need results of the non-GUI thread</li>
  </ul>
  
  <p>Do you have an idea about how to do that? </p>
  
  <p>Thank you!</p>