Accepting Fixes?

Sep 7, 2010 at 2:03 PM

Hi,

Thanks for this project - it saved me a whole bunch of time.

I've made a few fixes/improvements and am wondering whether you'd want to apply them? Specifically, I have:

  1. Enabled scenarios that need drag/drop support inside a ChildWindow. It's still dependent upon a singleton (InitialValues.ContainingLayoutPanel) but setting this to a control inside a ChildWindow will work.
  2. Used the position of the mouse to determine drop elligibility rather than the top-left position of the drag source. This is much more natural because the user is "pointing to" the place they wish to drop, rather than having to ensure the top-left of the thing they're dragging is inside the drop target.
  3. Fixed the issue whereby a drop target remains highlighted even though the user has moved outside of its boundary. In fact, it is possible to highlight a whole bunch of drop targets if they are all alongside one another.

Thoughts?

Best,
Kent

Sep 20, 2011 at 3:50 AM

Hi Kentcb,

Any chance you can post your changes to fix issues? 

Thanks!

Sep 20, 2011 at 4:02 AM

My fixes for 2 and 3 are as follows:

2.  See http://silverlightdragdrop.codeplex.com/discussions/72378

3.  In DragSource.cs - CheckIfIAmInDropTarget, where isInDropTarget = true when looping over InternalDropTargets, add this:

                            // Un-highight all other drop targets.
                            foreach (var dropTarget in InternalDropTargets)
                            {
                                if (item != dropTarget)
                                {
                                    dropTarget.TriggerDropTargetLeft(this);
                                }
                            }

And do the same other for the loop over DropTargets further down the function, but of course replace InternalDropTargets with DropTargets.
Coordinator
Sep 23, 2011 at 7:52 AM

Hello,

 

thanks for this solution.  I am accepting fixes for this, or people who want to help on this project.  As you might have noticed, an update is due - hasn't been updated in a long time, and maybe the imminent Silverlight 5 release is the perfect time to release a new version, including fixes :-)