title: Delayed Dispatch Invoke?
body: <p>In WPF due to the  intricacies on how the interface is updated I sometimes have to perform actions after a short delay. </p>
  
  <p>Currently I'm doing this simply by:</p>
  
  <pre><code>        var dt = new DispatcherTimer(DispatcherPriority.Send);
          dt.Tick += (s, e) =&gt;
          {
              dt.Stop();
              //DoStuff
          };
          dt.Interval = TimeSpan.FromMilliseconds(200);
          dt.Start();
  </code></pre>
  
  <p>But it's both a bit ugly and perhaps too much overhead to create a new timer each time (?)
  What's the best from a performance standpoint to do it, ie execute most promptly? And what's  good way to rewrite the above code into something like:</p>
  
  <pre><code>        this.Dispatcher.BeginInvoke(new Action(delegate()
          {
              //DoStuff
          }), DispatcherPriority.Send,TimeSpan.FromMilliseconds(200));
  </code></pre>
  
  <p>Where Timespan is the delay, Thanks for any input :)</p>