Completed
Last Updated: 16 Jan 2015 14:25 by ADMIN
To reproduce:
-add a RadDock with one ToolWindow;
-add two RadButtons;
Use the following code:


const string Filename = "dock.xml";


public Form1()
{
    InitializeComponent();


    var positions = (DockPosition[])Enum.GetValues(typeof(DockPosition));
    for (int i = 0; i < positions.Length; ++i)
    {
        RadButton btn = new RadButton();
        btn.Text = "Steps" + (i + 1);
        
        var position = positions[i];
        if (position == DockPosition.Fill)
        {
            radDock1.DockControl(btn, toolWindow1, position);
        }
        else
        {
            radDock1.DockControl(btn, position);
        }
    }
}


private void radButton1_Click(object sender, EventArgs e)
{
    using (var stream = File.Create(Filename))
    {
        radDock1.SaveToXml(stream);
    }
}


private void radButton2_Click(object sender, EventArgs e)
{
    if (File.Exists(Filename))
    {
        using (var stream = File.OpenRead(Filename))
        {
            radDock1.LoadFromXml(stream);
        }
    }
}


Steps to reproduce:
1.Float the Steps1 window
2.Hide the Steps1 floating window
3.File --> Save Layout
4.File --> Load Layout
5.Note that the Steps1 window is docked where it was before it was floated
6.Click the Steps1 toggle button in the RadCommandBar
7.Note that the Steps1 window is floating in the correct position


Workaround:
private void radMenuItem3_Click(object sender, EventArgs e)
{
    if (File.Exists(Filename))
    {
        using (var stream = File.OpenRead(Filename))
        {
            radDock1.LoadFromXml(stream);
            foreach (DockWindow window in this.radDock1.DockWindows.ToolWindows)
            {
                if (window.DockState == DockState.Hidden)
                {
                    window.DockState = DockState.Docked;
                    window.DockState = DockState.Hidden;
                }
            }
        }
    }
}
Completed
Last Updated: 15 Jan 2015 17:27 by ADMIN
To reproduce:
Add a RadDock and a DockWindow, AutoHide it, add a RadPropertyGrid to its controls and dock it. Set the SelectedObject of the property grid to the current form and start the application. Edit the BackColor value and you will notice that the window will hide.
Completed
Last Updated: 06 Feb 2015 09:47 by ADMIN
To reproduce:
case #1 Dock a window to RadDock. Drag a window out of the Dock to make it floating. Check the FloatingWindowsCollection. Dock the window again, you will notice that the collection did not change.
case #2 Have a RadDock with a docked ToolWindow. Undock the ToolWindow by double-clicking it and dock it back. Now undock it by dragging it. If you now check the FloatingWindows collection you will see that there are two windows with the same name.

Resolution: 
The FloatingWindows property gets a list of the floating windows. Can contain duplicates, empty or hidden toolwindows which are used internally as re-dock targets. Use the ActiveFloatingWindows property instead of it. 
Completed
Last Updated: 16 Jan 2015 14:19 by ADMIN
To reproduce:
-add a RadDock with several ToolWindows docked to one common container;
-drag the container ouside the RadDock in order to create a FloatingForm, holding all of the ToolWindows;
-close the FloatingForm via "X" button;
-save the layout;
-restart the application;
-load the layout;
-iterate through all of the ToolWindows and call their Show() method. Each ToolWindow is displayed in a separate FloatingForm; If you skip the step with restarting the application, all ToolWindows are shown in one common FloatingForm;
Completed
Last Updated: 31 Mar 2014 09:09 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Dock
Type: Bug Report
0
To reproduce: - add RadDock without document windows and five RadButtons with the following Click event handlers: private void radButton1_Click(object sender, EventArgs e) { this.radDock1.LoadFromXml(@"..\\..\\..\\layout1.xml"); } private void radButton2_Click(object sender, EventArgs e) { this.radDock1.LoadFromXml(@"..\\..\\..\\layout2.xml"); } //"Add" button private void radButton3_Click(object sender, EventArgs e) { this.documentContainer1.DockManager.AddDocument(new DocumentWindow(DateTime.Now.TimeOfDay.ToString())); } //Save layout 1 private void radButton4_Click(object sender, EventArgs e) { //add four document windows and save the layout 1 this.radDock1.SaveToXml(@"..\\..\\..\\layout1.xml"); } //Save layout 2 private void radButton5_Click(object sender, EventArgs e) { //add three document windows and save the layout 2 this.radDock1.SaveToXml(@"..\\..\\..\\layout2.xml"); } 
First add four document windows (via "Add" button click) and save layout 1 (via "Save layout 1" button click) on the RadDock and it creates 4 new Documents and save them in the xml. 
Restart the application and add three document windows (via "Add" button click) and save layout 2 (via "Save layout 2" button click). Load layout 1 (four document windows), then load layout 2. 
Everything is OK. But now load again layout 1. As a result ObjectDisposedException is thrown.

Workaround: before loading the xml, remove all document windows: radDock1.RemoveAllDocumentWindows(); radDock1.LoadFromXml(@"..\\..\\..\\layout1.xml");
Completed
Last Updated: 10 Mar 2014 10:43 by ADMIN
ADMIN
Created by: Georgi I. Georgiev
Comments: 0
Category: Dock
Type: Feature Request
1
Add the ability to programatically show AutoHidden window
Completed
Last Updated: 31 Mar 2014 09:09 by ADMIN
To reproduce: -add RadDock with several tabbed documents; -add four ToolWindows to each side: left, top, right, bottom; Use the following code: public Form1() { InitializeComponent(); toolWindow1.DockState = Telerik.WinControls.UI.Docking.DockState.AutoHide; toolWindow2.DockState = Telerik.WinControls.UI.Docking.DockState.AutoHide; toolWindow3.DockState = Telerik.WinControls.UI.Docking.DockState.AutoHide; toolWindow4.DockState = Telerik.WinControls.UI.Docking.DockState.AutoHide; toolWindow1.AutoHide(); toolWindow2.AutoHide(); toolWindow3.AutoHide(); toolWindow4.AutoHide(); } When you run the project, you will notice that all of the ToolWindows are auto hidden and positioned to the left side which is wrong. Some other wrong behavior is when you try to dock again some of the ToolWindows after that, all of them are docked back to their initial positions.

Workaround: instead of using AutoHide() method, use the following code: Type type = this.radDock1.GetType(); MethodInfo methodInfo = type.GetMethod("CloseAutoHidePopup", BindingFlags.Instance | BindingFlags.NonPublic); methodInfo.Invoke(this.radDock1, null);
Completed
Last Updated: 11 Mar 2014 11:30 by ADMIN
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);
        }
    }
}
Completed
Last Updated: 15 Oct 2013 03:37 by ADMIN
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.
Completed
Last Updated: 07 Oct 2013 06:00 by ADMIN
ADMIN
Created by: Georgi I. Georgiev
Comments: 0
Category: Dock
Type: Feature Request
0
Add the ability to easily turn on/off the DockingGuides
Completed
Last Updated: 15 Jan 2015 17:31 by ADMIN
To reproduce:
-add a RadDock with a ToolWindow
-add some controls inside the ToolWindow and anchor them to Left, Bottom, Right
-use RadDock Advanced layout designer to set the ToolWindow as unpinned.
-run the project and notice that when showing the ToolWindow its child controls are not positioned correctly (compared to at design time).

Workaround: use RadPanel docked to the ToolWindow as parent container and position all anchored controls inside it
Completed
Last Updated: 30 Jan 2015 12:30 by ADMIN
To reproduce:
- Create a MDI application with a RadDock in the mainform.
- Add docked to the left ToolWindow to the dock.
- On a button click add a child form with a RadDateTimePicker in it.
- Set the picker Dock property to Top.

Workaround: 
- Use the following SizeChanged event handler:
 private void RadForm1_SizeChanged(object sender, EventArgs e)
{
    this.rdMain.Width++;
    this.rdMain.Width--;          
}
Completed
Last Updated: 17 Mar 2015 14:48 by ADMIN
ADMIN
Created by: Anton
Comments: 0
Category: Dock
Type: Feature Request
2
RadDock - implement BackgroundImage property.
Completed
Last Updated: 02 Feb 2015 08:26 by ADMIN
ADMIN
Created by: Georgi I. Georgiev
Comments: 2
Category: Dock
Type: Bug Report
1
To reproduce:
Add RadMenu, add item, add radshortcut, dock the form as mdi child
Completed
Last Updated: 16 Jan 2015 07:29 by ADMIN
Description: for example if we have two auto-hidden Tool windows (left and right), first click on the right one but don't pin it, then click on the left one (don't pin it also) and you will notice that for a fraction of time its caption displays the text of the previous window. Then you can click the right window again and you'll see the opposite effect. This tiny fraction of time raises to a significant period of time when tool windows are loaded with multiple controls. AutoHideWindowDisplaying event fires before ActiveWindowChanged event (AutoHideTabStrip.ActiveWindow is the other tool window during AutoHideWindowDisplaying). That is why for a fraction of time (during AutoHideWindowDisplaying event) you can see different caption text. To reproduce: - add RadDock - add two auto-hidden Tool windows (left and right) - first click the right one in order to display the hidden tool window -> for a fraction of time its caption is for the other tool window Workaround: private void radDock1_AutoHideWindowDisplaying(object sender, AutoHideWindowDisplayingEventArgs e) { AutoHideTabStrip autoHide = e.NewWindow.DockTabStrip as AutoHideTabStrip; if (autoHide != null) { autoHide.ActiveWindow.Text = e.DockWindow.Text; } }

Another possibility to reduce the flicker is to stop the animations: 

radDock1.AutoHideAnimation = AutoHideAnimateMode.None;
Completed
Last Updated: 24 Jul 2013 05:41 by ADMIN
To reproduce: Add a RadDock with toolwindow, add a webBrowser inside(must be IE10) and try to drag it.
Completed
Last Updated: 18 Feb 2015 14:56 by ADMIN
IMPROVE. RadDock - add possibility for replacing the page items in the DocumentWindows with custom ones.

Resolution: 
Use the static class RadDockEvents to subscribe to events before InitializeComponent
Completed
Last Updated: 10 Nov 2014 07:59 by ADMIN
These are the steps to reproduce the bug:

1. Start dragging a docked window tab (but don't leave the tab bounds for now).
2. While still holding the left mouse button, click the right mouse button to let the context menu appear.
3. Now drag the tab outside the tab bar until the window gets undocked (for example to the blue region above the docked windows).
4. Finish dragging by releasing the left mouse button.
5. Move the mouse cursor over the title bar of another docked window -> the window is undocked without interacting with it and will stick to the cursor until you click the mouse button to release it.

Workaround:
   bool flag = false;
        public Form1()
        {
            InitializeComponent();
            
            ContextMenuService menuService = this.radDock1.GetService<ContextMenuService>();
            menuService.ContextMenuDisplaying += menuService_ContextMenuDisplaying;

            DragDropService service = this.radDock1.GetService<DragDropService>();
            service.Starting += service_Starting;
        }

        void service_Starting(object sender, StateServiceStartingEventArgs e)
        {
            e.Cancel = flag;
            flag = false;
        }

        void menuService_ContextMenuDisplaying(object sender, ContextMenuDisplayingEventArgs e)
        {
            flag = true;
        }
Completed
Last Updated: 06 May 2013 03:37 by ADMIN
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");
                }
            }
Completed
Last Updated: 22 Jul 2015 11:00 by ADMIN
ADMIN
Created by: Peter
Comments: 0
Category: Dock
Type: Bug Report
3
Dock windows should keep its icon and image that is set for them in a previous state, no matter their form, tabbed, docked,