title: Improve WPF ListBox multi-item drag & drop
body: <p>I want to implement drag &amp; drop for a extended-selection-mode WPF <code>ListBox</code>. So far, everything is working fine:</p>
  
  <ol>
  <li>I can initiate a drag operation for the selected items</li>
  <li>I can handle the drop operation on the target</li>
  </ol>
  
  <p>I basically implemented it <a href="http://www.wpftutorial.net/draganddrop.html" rel="nofollow">as written here</a> - in short:</p>
  
  <ol>
  <li>Handle <code>PreviewMouseLeftButtonDown</code> to store current mouse position</li>
  <li>Handle <code>MouseMove</code> to initiate the drag operation if distance has been covered</li>
  </ol>
  
  <p>Now my problem is: Usually, in the Explorer for example, I'd select the items I want to drag, then I <strong>release</strong> the mouse button and <strong>press it again</strong> to initiate the drag &amp; drop operation. I guess that's how most users would do it. When I do the same thing in my application now, the selection changes to the item I press the mouse button on for the second time - the multi-selection is gone.</p>
  
  <p>I googled a lot yesterday, but all the solutions I could find initiated the drag operation in <code>PreviewMouseLeftButtonDown</code>. That, however, does not allow me to check whether the mouse has been moved far enough to actually initiate a drag operation.</p>
  
  <p>My question: Does anyone have a simple solution (not involving any third-party libraries) how I can change the sample linked above so that the multi-selection stays intact?</p>