Unplanned
Last Updated: 27 Dec 2016 12:10 by ADMIN
ADMIN
Dess | Tech Support Engineer, Principal
Created on: 15 Dec 2016 10:02
Category: Dock
Type: Bug Report
1
FIX. RadDock - RelativeRatio for a ToolWindow is not respected when specifying the width ratio
To reproduce:

Scenario 1:

ToolWindow window1 = new ToolWindow();
window1.Name = "window1";
this.radDock1.DockWindow(window1, DockPosition.Left);

ToolWindow window2 = new ToolWindow();
window2.Name = "window2";
this.radDock1.DockWindow(window2, window1, DockPosition.Right);

window1.TabStrip.SizeInfo.SizeMode = Telerik.WinControls.UI.Docking.SplitPanelSizeMode.Relative;
window1.TabStrip.SizeInfo.RelativeRatio = new SizeF(0.7f, 0);

The expected result is that "window1" takes 70% of the container hosting "window1" and "window2".

Scenario 2:

ToolWindow window1 = new ToolWindow();
window1.Name = "window1";
this.radDock1.DockWindow(window1, DockPosition.Left);

DocumentWindow doc1 = new DocumentWindow();          
this.radDock1.AddDocument(doc1, window1, DockPosition.Right);
window1.TabStrip.SizeInfo.SizeMode = Telerik.WinControls.UI.Docking.SplitPanelSizeMode.Relative;
window1.TabStrip.SizeInfo.RelativeRatio = new SizeF(0.7f, 0);

The expected result is that "window1" takes 70% of the container hosting "window1" and the document window.

Workaround: use the SplitPanelSizeMode.Absolute as below:
ToolWindow window1 = new ToolWindow(); 
DocumentWindow doc1 = new DocumentWindow(); 

private void RadForm1_Load(object sender, EventArgs e)
{
    window1.Name = "window1";
    this.radDock1.DockWindow(window1, DockPosition.Left);
            
    this.radDock1.AddDocument(doc1, window1, DockPosition.Right);
   
    window1.TabStrip.SizeInfo.SizeMode = Telerik.WinControls.UI.Docking.SplitPanelSizeMode.Absolute;
    window1.TabStrip.SizeInfo.AbsoluteSize = new Size((int)(this.Size.Width * 0.7),0);

    this.radDock1.SizeChanged += radDock1_SizeChanged;
}

private void radDock1_SizeChanged(object sender, EventArgs e)
{
     window1.TabStrip.SizeInfo.AbsoluteSize = new Size((int)(this.Size.Width * 0.7),0);
}
0 comments