Completed
Last Updated: 07 Dec 2017 15:00 by ADMIN
Use the attached project to reproduce.

Workaround:
 radDock1.DocumentManager.BoldActiveDocument = false;
Completed
Last Updated: 22 Nov 2017 06:19 by ADMIN
ADMIN
Created by: Alexander
Comments: 0
Category: Dock
Type: Bug Report
1
RadDock's layout does not handle correctly changed Windows DPI settings.
Completed
Last Updated: 28 Aug 2017 10:08 by ADMIN
How to reproduce: try resizing a too window using its splitter

Workaround: create a custom RadDock using special layout strategy
public class MyRadDock : RadDock
{
    public override string ThemeClassName
    {
        get
        {
            return typeof(RadDock).FullName;
        }
    }

    protected override SplitContainerLayoutStrategy CreateLayoutStrategy()
    {
        MySplitContainerLayoutStrategy strategy = null;
        if (this.LayoutStrategyType != null)
        {
            try
            {
                strategy = Activator.CreateInstance(this.LayoutStrategyType) as MySplitContainerLayoutStrategy;
            }
            catch
            {
                strategy = null;
            }
        }

        if (strategy == null)
        {
            strategy = new MySplitContainerLayoutStrategy();
        }

        strategy.RootContainerType = typeof(RadDock);
        return strategy;
    }
}

public class MySplitContainerLayoutStrategy : SplitContainerLayoutStrategy
{
    protected override void Measure()
    {
        SplitContainerLayoutInfo layoutInfo = (SplitContainerLayoutInfo)typeof(SplitContainerLayoutStrategy).GetField("layoutInfo", BindingFlags.Instance | BindingFlags.NonPublic).
            GetValue(this);

        SplitPanel fillPanel = (SplitPanel)typeof(SplitContainerLayoutInfo).GetField("fillPanel", BindingFlags.Instance | BindingFlags.NonPublic).
            GetValue(layoutInfo);

        if (fillPanel == null)
        {
            base.Measure();
        }

        this.MeasureWithFillPanel();

        typeof(SplitContainerLayoutStrategy).GetMethod("ClampMeasuredLength", BindingFlags.Instance | BindingFlags.NonPublic).
            Invoke(this, new object[] { });
    }

    private void MeasureWithFillPanel()
    {
        FieldInfo layoutInfoFi = typeof(SplitContainerLayoutStrategy).GetField("layoutInfo", BindingFlags.Instance | BindingFlags.NonPublic);
        SplitContainerLayoutInfo layoutInfo = (SplitContainerLayoutInfo)layoutInfoFi.GetValue(this);

        int availableLength = (int)typeof(SplitContainerLayoutInfo).GetField("availableLength", BindingFlags.Instance | BindingFlags.NonPublic).
          GetValue(layoutInfo);

        int remaining = availableLength;
        SplitPanel panel;

        //calculate the desired size of all non-fill panels
        int desiredNonFillLength = 0;

        List<SplitPanel> layoutTargets = (List<SplitPanel>)typeof(SplitContainerLayoutInfo).GetField("layoutTargets", BindingFlags.Instance | BindingFlags.NonPublic).
            GetValue(layoutInfo);

        SplitPanel fillPanel = (SplitPanel)typeof(SplitContainerLayoutInfo).GetField("fillPanel", BindingFlags.Instance | BindingFlags.NonPublic).
              GetValue(layoutInfo);

        int count = layoutTargets.Count;
        for (int i = 0; i < count; i++)
        {
            panel = layoutTargets[i];
            if (panel == fillPanel)
            {
                continue;
            }

            desiredNonFillLength += this.GetLength(panel.SizeInfo.AbsoluteSize);
        }

        SplitPanelSizeInfo fillInfo = fillPanel.SizeInfo;

        int totalSplitterLength = (int)typeof(SplitContainerLayoutInfo).GetField("totalSplitterLength", BindingFlags.Instance | BindingFlags.NonPublic).
              GetValue(layoutInfo);
        int layoutableLength = availableLength - totalSplitterLength;
        int correction = 0;

        int totalMinLength = (int)typeof(SplitContainerLayoutInfo).GetField("totalMinLength", BindingFlags.Instance | BindingFlags.NonPublic).
              GetValue(layoutInfo);

        int desiredFillLength = totalMinLength;
        if (desiredNonFillLength + desiredFillLength > layoutableLength)
        {
            correction = (desiredNonFillLength + desiredFillLength) - layoutableLength;
        }

        int remainingCorrection = correction;
        for (int i = 0; i < layoutTargets.Count; i++)
        {
            panel = layoutTargets[i];
            if (panel == fillPanel)
            {
                continue;
            }

            int length = this.GetLength(TelerikDpiHelper.ScaleSize(panel.SizeInfo.AbsoluteSize, new SizeF(1f / panel.SplitPanelElement.DpiScaleFactor.Width, 1f / panel.SplitPanelElement.DpiScaleFactor.Height)));
            if (remainingCorrection > 0 && panel.SizeInfo.SizeMode != SplitPanelSizeMode.Absolute)
            {
                float factor = (float)length / desiredNonFillLength;
                int panelCorrection = Math.Max(1, (int)(factor * correction));
                remainingCorrection -= panelCorrection;
                length -= panelCorrection;
            }

            panel.SizeInfo.MeasuredLength = length;
            int splitterLength = (int)typeof(SplitContainerLayoutInfo).GetField("splitterLength", BindingFlags.Instance | BindingFlags.NonPublic).
             GetValue(layoutInfo);
            remaining -= (panel.SizeInfo.MeasuredLength + splitterLength);
        }
        
        fillPanel.SizeInfo.MeasuredLength = remaining;
    }
}

Completed
Last Updated: 15 Aug 2017 11:03 by ADMIN
To reproduce:
- Auto-hide some windows to the left.
- Save the layout 
- Load the layout
- The auto-hide popup is shown. 
Completed
Last Updated: 15 Aug 2017 10:54 by ADMIN
Please refer to the attached sample project and follow the steps in the gif file.

The issue appears when the ToolWindow DockState is set to auto-hide for the firs time as well.
 
Completed
Last Updated: 15 Aug 2017 10:20 by ADMIN
To reproduce:
- Set the DPI scaling to 150%
- Add document window at runtime, their text property should be bound to the TextProperty of an underlying custom control.
- This works fine with 100%

Workaround:
Explicitly update the window text prior adding it to the RadDock.
Completed
Last Updated: 19 Jun 2017 12:59 by ADMIN
ADMIN
Created by: Dimitar
Comments: 2
Category: Dock
Type: Bug Report
5
To reproduce:
Use the approach here:  http://docs.telerik.com/devtools/winforms/dock/object-model/customizing-floating-windows

Workaround:
private void RadDock1_FloatingWindowCreated(object sender, Telerik.WinControls.UI.Docking.FloatingWindowEventArgs e)
{
    e.Window = new MyWindow(radDock1);
    e.Window.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable;

}

class MyWindow : FloatingWindow
{
    public MyWindow(RadDock dock): base(dock)
    {

    }
    protected override CreateParams CreateParams
    {
        get
        {
            CreateParams cp = base.CreateParams;
            cp.Style |= NativeMethods.WS_THICKFRAME;
            return cp;
        }
    }
}
Completed
Last Updated: 06 Jan 2017 09:14 by ADMIN
To reproduce:
- Load a layout with a floating window in it. 
- The close button is disabled.


Workaround:
private void RadDock1_LoadedFromXml(object sender, EventArgs e)
{
    foreach (FloatingWindow item in radDock1.FloatingWindows)
    {
        item.UpdateCloseButton();
    }
}

Completed
Last Updated: 10 Oct 2016 07:47 by lan
To reproduce:
- Add three panels to a document window, add some controls to the panels as well.
- Dock the panels to Top, Bottom and Fill.
- Restart Visual Studio and reopen the designer. 
Completed
Last Updated: 27 May 2016 14:37 by ADMIN
To reproduce:
- Add a panel to a form, dock it to fill the entire space.
- Add RadDock to it, set its Dock property to fill.
- Add a document window with a grid to it (the grid should fill the entire space).
- Start the application and maximize the form.  

Workaround:
- Remove the panel or use RadPanel instead.

- Handle the SizeChanged event
private void RadForm1_SizeChanged(object sender, EventArgs e)
{
	var window = this.radDock1.ActiveWindow;
	this.radDock1.ActiveWindow = null;
	this.radDock1.ActiveWindow = window;
}
Completed
Last Updated: 10 May 2016 14:09 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 2
Category: Dock
Type: Bug Report
0
To reproduce:
1.Add a RadDock with two ToolWindows, docked in a shared TabStrip.
2.Change the dock state of the first ToolWindow to "Floating".
3.Change the dock state of the second ToolWindow to "Autohide".
4.Save the layout.
5.Change the layout.
6.Load the layout.

As a result both of the ToolWindow are autohidden.
Completed
Last Updated: 09 Feb 2016 13:38 by ADMIN
This request concerns adding a state for the buttons in the ToolWindow caption, which will allow different theming for the buttons, when the window is active and inactive.
Completed
Last Updated: 25 Jan 2016 15:27 by ADMIN
Steps to reproduce:

1. Open the form at design time
2. Add a RadDock
3. Add a MS Panel
4. Put the RadDock inside the panel
5. Dock the Panel to Fill, dock RadDock to Fill as well.
6. Open RadDock's Advanced Layout Designer
7. Add two ToolWindows to the left and redock them in order to share one common container.
8. Hide the ToolWindows by unchecking the check-boxes in the Advanced Layout Designer and save the changes
9. Add a RadPanel (Dock=Fill) to the active ToolWindow.
10. Add a RadGridView (Anchor = Top, Left, Right, Bottom ), a left RadButton (Anchor = Bottom, Left) and a right RadButton (Anchor = Bottom, Right)to the panel.
11. Save thfs in the designer. Select the RadPanel with the grid and the buttons and click Copy.
12. Select the other ToolWindow and paste.
13. Save the form. Close the designer and reopen it again. You will notice that the pasted panel is not as expected.

The attached video (drag and drop over the browser to play it) illustrates better the performed steps.

Workaround: do not place the RadDock inside a MS Panel. RadDock is supposed to be used as a main container in a form.
Completed
Last Updated: 10 Sep 2015 14:58 by ADMIN
To reproduce:
- Add several tool windows to RadDock.
- Make a window floating and then dock it back.
- Hide all windows and then save the layout.
- Close the application.
- Start the application and load the saved layout.
- Show all windows again.


Completed
Last Updated: 10 Sep 2015 08:19 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 0
Category: Dock
Type: Bug Report
0
To reproduce:

1.Add a RadForm with RibbonFormBehavior.
2.Add a RadDock with one DocumentWindow and a button inside the ribbon.
3.Create another RadForm with RibbonFormBehavior.
4.Use the following code snippet:

public partial class Form1 : RadForm
{
    public Form1()
    {
        InitializeComponent();
    }

    private void radButtonElement1_Click(object sender, EventArgs e)
    {
        this.IsMdiContainer = true;
        this.radDock1.AutoDetectMdiChildren = true;
        
        ChildForm form = new ChildForm();
        form.Text = "MDI Child 1"; 
        form.MdiParent = this;
        form.Show();
       
    }
}

Workaround: Set RadDock.AutoDetectMdiChildren property to false.
Completed
Last Updated: 09 Sep 2015 06:03 by ADMIN
To reproduce set AutoDetectMdiChildren to true and add a DocumentWindow to RadDock, using the AddDocument method

Workaround: 
1. Set AutoDetectMdiChildren to false
2. Use HostWindow instead of DocumentWindow
Completed
Last Updated: 27 Aug 2015 15:45 by ADMIN
To reproduce:

private void commandBarButton1_Click(object sender, EventArgs e)
{
    Telerik.WinControls.UI.RadForm frm;
    frm = new Telerik.WinControls.UI.RadForm();
    frm.Text = "Test" + num;
    num++;

    Telerik.WinControls.UI.Docking.HostWindow host;
    host = new Telerik.WinControls.UI.Docking.HostWindow(frm, Telerik.WinControls.UI.Docking.DockType.Document);
    this.radDock1.DockWindow(host, this.radDock1.GetDefaultDocumentTabStrip(true), Telerik.WinControls.UI.Docking.DockPosition.Fill);
}

Workaround:
 this.radDock1.TransactionCommitting += radDock1_TransactionCommitting;

private void radDock1_TransactionCommitting(object sender, RadDockTransactionCancelEventArgs e)
{
    if (e.Transaction.TransactionType == DockTransactionType.DragDrop && e.Transaction.TargetState == DockState.Docked &&
       !( e.Transaction.AssociatedWindows.First() is ToolWindow))
    {
        FieldInfo fi = typeof(RadDockTransaction).GetField("targetState",BindingFlags.NonPublic |BindingFlags.Instance);
        fi.SetValue(e.Transaction, DockState.TabbedDocument);
    }
}
Completed
Last Updated: 27 Aug 2015 15:15 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 1
Category: Dock
Type: Feature Request
1
http://blogs.msdn.com/b/zainnab/archive/2012/06/19/visual-studio-2012-new-features-preview-tab.aspx
Completed
Last Updated: 27 Aug 2015 14:37 by ADMIN
ADMIN
Created by: Julian Benkov
Comments: 3
Category: Dock
Type: Feature Request
3
support of Pin tab operation in DocumentContainer of RadDock
Completed
Last Updated: 24 Jul 2015 12:56 by ADMIN