Last Updated: 04 Aug 2016 10:49 by BENN
Created on: 25 Apr 2016 08:15
Category: Docking
Type: Bug Report
Docking: Changing DragDropMode in run time doesn't behave as expected
When changing the DragDropMode in runtime, the panes behave unexpectedly.

If changing from Immediate to Deferred:

* Docked panes are not movable (no compass and no deferred adorner is being shows)

* Floating panes that are being docked do have the compass and the deferred adorner, when you try to move them after they were docked. 


If you change is back from Deferred to Immediate:

* Panes that you could not move can be moved (and then become floating) again/

* The panes that did have  the compass and the deferred adorner, don't move when you try to drag them. However, when you release the mouse button, then the start moving with the mouse pointer... without any mouse button pressed.

I've debugged the controls using the source code, and I've concluded that.

RadPane.UdateAllowDrag() is being called on PaneLoaded, which happens when I drag a floating pane into the Docking area.

In this case, when the DragDropMode is set to Deferred, then AllowDrag is set to True (with the call of DragDropManager.SetAllowDrag)

This is why that pane does have the Deferred Drag Adorner (The Drag Cue), while other panes doesn't.


On the other hand, when I change the DragDropMode to be Immediate again, then that pane is left with AllowDrag set to true, and it is registered to the DragDropManager events, which causes the second problem.


In my opinion, the RadPane.UpdateAllowDrag() should be called also when the DragDropMode is changed.