I have a control within a ScrollViewer where the user can drag and drop elements around. I want the user to be able to scroll by dragging an element outside the bounds of the ScrollViewer, like how Windows Explorer will automatically scroll down if you drag a file past the bottom of the window.
I thought this would be simple to implement using MouseCapture, however calling DragDrop.DoDragDrop not only blocks, but it also appears to be doing its own mouse capture, making this much tricker than it seems.
I can't seem to find any way to be notified of mouse position changing while an element is being dragged outside the bounds of the drag source element. Anyone have any idea how I can achieve this?