To reproduce: - Set the font of the tool window: ((ToolTabStrip)this.toolWindow1.TabStrip).CaptionElement.Font = font1; - Make the tool window floating and then dock it again. - The font is not preserved. Workaround: Set the font in the DockStateChanged event.
Workaround: FloatingWindow.FormElement.TitleBar.CloseButton.Enabled = True
To reproduce: - Add a tool window to RadDock - Make the tool window floating and double-click its title bar. - Click the maximaze button.
DECLINED: Currently, RadDock is designed to only persist the position of tool windows. The document windows are consider to be kind of dynamic content presenters which need to be opened/closed at runtime. ORIGINAL DESCRIPTION: Create a single ToolWindow, set its DockState to Floating, add this window to a RadDock. Start the application, hide the window, save the layout, then load the layout, the window is not hidden. In the xml there is no node with ToolWindow To reproduce: public partial class Form1 : Form { public Form1() { InitializeComponent(); ToolWindow newTool = new ToolWindow(); newTool.Name = "New Tool"; newTool.CloseAction = DockWindowCloseAction.Hide; this.radDock1.AddDocument(newTool); newTool.DockState = DockState.Floating; this.radDock1.ActiveWindow = newTool; } private void radButton1_Click(object sender, EventArgs e) { this.radDock1.SaveToXml(@"..\..\layout1.xml"); } private void radButton2_Click(object sender, EventArgs e) { this.radDock1.LoadFromXml(@"..\..\layout1.xml"); } }
Here is a sample application that has the problem. It appears that the issue is easy to reproduce by changing something via the designer in frmMain (like slightly resizing the large close button larger or smaller. Or adding a label or something else in the same DocumentWindow area around the large Close button). Here is another issue that might be related with the Designer error I'm pointing out. Using my example Test project, If you add another "Tabbed Document" to the RadDock and then launch the application and go back to the designer and select a tab that is not currently selected in the designer. You will see the errors in the attached screen shots. This causes you to have to close out the designer window and reopen to clear the error.
To reproduce: 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. Workaround: When iterating the windows, skip duplicates: HashSet<string> iteratedWindows = new HashSet<string>(); foreach (FloatingWindow win in this.radDock1.FloatingWindows) { if (iteratedWindows.Contains(win.Text)) { return; } win.Visible = hide; iteratedWindows.Add(win.Text); } 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.
Workaround: void radDock1_DockWindowAdded(object sender, DockWindowEventArgs e) { DocumentWindow docWin = e.DockWindow as DocumentWindow; if (docWin != null && docWin.Text.Contains(Environment.NewLine)) { docWin.TabStripItem.Padding = new Padding(25, 2, 3, 2); } }
DECLINED: the issue is in the client's code. To reproduce: - add a dock with some windows - save the layout with this code: var stringWriter = new StringWriter(); radDock1.SaveToXml(stringWriter); savedLayoutString = stringWriter.ToString(); //with this line you can save the same stream to a file and observe that it is saved with UTF-16 - load the layout with the following code: using (var stream = new MemoryStream()) { var streamWriter = new StreamWriter(stream); streamWriter.Write(savedLayoutString); streamWriter.Flush(); stream.Position = 0; radDock1.LoadFromXml(stream); } Workaround - when reading the xml, replace utf-16 with utf-8 streamWriter.Write(File.ReadAllText("qqq.xml").Replace("utf-16", "utf-8"));
To reproduce: - Add RadDock to a blank form and dock a tool window to the bottom. - Add RadRichTextBox to the tool window and set its anchor property to all for sides. - Save and close the form. - Reopen the form, you will notice that the RadRichtextBox has different size.
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.