To reproduce: Add RadDock to a form. Add a few DocumentWindows. Drag a tab among the other tabs and you will see how the cursor is a different, that is normal. Drag a tab to the content area of the document window and you will see the docking guides. Now if you drag the tab again over the other tabs you will see that the docking guides are still visible and the cursor is not changing (except if you drag outside of the dock). Resolution: 1. Inherit RadPageViewInDockDragDropService and override the UpdateCursor virtual method. class MyDragDropService : RadPageViewInDockDragDropService { RadPageViewElement owner; public MyDragDropService(RadPageViewElement owner) : base(owner) { this.owner = owner; } protected override void UpdateCursor(Point mousePos) { RadPageViewStripElement stripElement = this.owner as RadPageViewStripElement; if (stripElement == null) { return; } if (!this.processing) { //Cursor.Current = Cursors.Default; return; } Point mousePt = Control.MousePosition; if (this.owner.IsInValidState(true)) { mousePt = this.owner.ElementTree.Control.PointToClient(mousePt); } else { mousePt = mousePos; } if (!stripElement.ItemContainer.ControlBoundingRectangle.Contains(mousePt)) { Cursor.Current = Cursors.Default; base.HintWindow.BackgroundImage = null; base.HintWindow.Hide(); this.processing = false; } } } 2. Change the nested PageView in RadDock public Form2() { InitializeComponent(); radDock1.GetService<DragDropService>().Starting += (sender, args) => { if ((sender as DragDropService).DragDropContext == DragDropContext.DocumentWindow) { args.Cancel = true; } }; foreach (Control child in ControlHelper.EnumChildControls(this.radDock1, true)) { DocumentTabStrip docStrip = child as DocumentTabStrip; if (docStrip != null) { RadPageViewElement pageViewElement = docStrip.TabStripElement; pageViewElement.ItemDragService = new MyDragDropService(pageViewElement); } } }
Add the ability to programatically show AutoHidden window
When a floating window is hidden and RadDock layout is saved, the hidden window is saved in its Docked state and displayed as Docked when layout is loaded.
Visual Studio 2010 introduced the concept of document windows which behave like a regular tool window. Implement the same functionality within RadDock.
The problem can be reproduced in some scenarios for other controls like RadGridView Comment: the issue cannot be reproduced!
When you set the Cancel property of the DockWindowCancelEventArgs in the ActiveWindowChanging event, the active window should not be changed.
Visual Studio 2010 document window behavior
If you dock several tool windows on the same position so that tabs show up and you double click the close button, all remaining docked windows will be made floating.
Detected in RadDock using resizing of simple form with RadDock and one ToolWindow docked in bottom.
To reproduce: - Add 2 DockWindows and dock it Add about 10 controls in one of the windows. AutoHide them and show them one after another, you will notice that the old one is visible somewhere in the middle of the animation. - Also you will notice that AutoHideWindowDisplayed and AutoHideWindowDisplaying events are fired twice.
Add the ability to easily turn on/off the DockingGuides
To reproduce: Add a RadDock with toolwindow, add a webBrowser inside(must be IE10) and try to drag it.
To reproduce, just load an invalid XML file: if (File.Exists("userDockState.xml")) { try { radDock1.LoadFromXml("userDockState.xml"); } catch (XmlException) { radDock1.LoadFromXml("defaultDockState.xml"); } } Workaround: if (File.Exists("userDockState.xml")) { try { radDock1.LoadFromXml("userDockState.xml"); } catch (XmlException) { radDock1.EndTransactionBlock(); radDock1.LoadFromXml("defaultDockState.xml"); } }
RadDock - when loading layout, the control reads the stream from the current position instead from the beginning of it. This lead to exception "Root element is missing". Steps to reproduce: Dim strmDock As New MemoryStream RadDock1.SaveToXml(strmDock) RadDock1.LoadFromXml(strmDock) Work around: stream.Position = 0;
To reproduce: using System.Windows.Forms; using Telerik.WinControls.UI.Docking; namespace Lab.Dock { public partial class DockMDIForm : MainForm { private RadDock radDock = new RadDock(); public DockMDIForm() {
Put a RadTreeView in an AutoHide tool window and assign it with ContextMenuStrip with multiple levels of sub menu items. When you click a last-level menu item, the tool window will hide and the Click event of the item will not fire.
The instance of DockWindow is not disposed when the dock's context menu close option "Close", "Close all but this", "Close All" or when the middle mouse button is used for Close operation.
When you place RadDock with AutoHideAnimation set to None, add several auto-hide windows and you switch between them, you will notice a flickering at the moment of the change.
To reproduce: - create a VB project - open the advanced layout designer and add few windows in it - save it and the windows will not show on the form
In the test scenario the Autohide Windows is hosted in parent RadDock floating windows. The ToolWindow in AutoHide dockstate disposed, after docking the main ToolWindow to tab mode, in a specific scenario.