Possible workaround: A custom RadDocking control can be created, in which the OnCreateAutomationPeer() method is overridden. OnCreateAutomationPeer() should return a custom RadDocking AutomationPeer, in which the ToolWindowAutomationPeer is removed from the collection of child elements of RadDocking AutomationPeer. Approach demonstrated in the attached project.
When dragging a pane in Deferred DragDropMode, if the moue cursor is far from the header, then the Drag Cue appears far from the cursor.
On some rare cases, RadPane.OnPaneLoaded is being called before ApplyTemplate was called, and therefore, UpdateAllowDrag which tries to find the first child of the rad pane (the "wrapper" grid) fails, and pane remains undraggable. To reproduce this issue, I have a button that when clicking on it, it adds a new pane (There is a collection of View Models, that when items are added or removed, then a code that is using binding to that collection adds or removes a pane. The scenario happens when the system is laggy (For example, heavy UI on the panes content), and I'm adding several view models to that collection. It doesn't always happen, but sometimes, one of more of the panes are not draggable. I can clearly see that the OnPaneLoaded was called before the OnApplyTemplate was. Maybe it can be a good idea to call UpdateAllowDrag on the OnApplyTemplate function if the OnLoad was called first.
On Deferred mode, you can still undock panes (for example, but context menu). The problem starts when you want to dock them back, When moving a pane above the compass, it hides the compass (And this problem is a PITA when you docking with the inner compass (rather than the root compass), since the left,top, center etc.. arrows are near to each other (so you are not 100% sure you hit the right arrow).
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.
Just like in Visual Studio, a floating pane, which I want to dock (for example to the bottom), can either take the whole width or just the width that is left. For example: At start, the panes in the bottom does not consume the whole window width. After undocking the panes and docking them back, the compass only shows me an option to dock the panes while consuming the whole width. I have no option to return to the original state (like in Start.png). The only way to return to that state is undock and re-dock the right pane, and then dock and re-dock the left pane. Visual Studio has this feature (see image).
Currently when a Pane becomes floating and we are still holding it with the mouse the ToolWindow could not be snapped. First the mouse should be released and right after that the ToolWindow could be snapped.
The the keyboard focus is also lost if you undock a RadPane from its docked state. As a workaround you can persist the focus as shown in the RestoreFocusOnStateChanged SDK example, that can be found here: https://github.com/telerik/xaml-sdk/tree/master/Docking/RestoreFocusOnStateChanged
Provide an easy functionality to exclude a pane or group of panes from reordering when AllowDragReorder is set to True.
If an custom implementation is implemented that restores the IsActive property state if a RadPane during the control's LoadLayout functionality the "Active" visual state if that RadPane instance is not cleared if different RadPane is selected. This issue could be observed in the VisualStudioDocking located in the XAML GitHub repository here: https://github.com/telerik/xaml-sdk/tree/master/Docking/VisualStudioDocking
While the control's DragDropMode is set to Deferred and the RadPane instances contain content which is UI heavy, dragging those RadPane instances in order to reorder or re-dock them may experience performance issues leading to sluggishness of the drag and drop action.
When loading a previously saved layout that includes a floated RadPane located on a currently not available monitor, that RadPane should be made visible on the available monitor. Currently its is directly loaded in its saved location which is not visible.
When the control contains RadPane instances which Content is provided by a MAF framework that content experiences flickers and disappearing when the RadPane is being floated, docked, pinned or unpinned.
By design in the current version of RadDocking when a hidden RadPane instance in a RadPaneGroup is made visible by changing the IsHiddden property of that pane to False, that RadPane is set to be SelectedItem in the group. Make it possible to disable this functionality. This way the old selected RadPane in that RadPaneGroup will be persisted.
Pinning a pane instance will cause that instance's tab to go to the first place of the group in which it is in the DocumetnHost of the control. This behavior could be observed in MS Visual Studio 2013
Resizing a RadPane's splitter while its Header's or Content's ContextMenu is opened leads to incorrect resize