Currently, it is not possible to add any RadElement to a TabStripItem in DocumentTabStrip. Resolution: Use the static class RadDockEvents to subscribe to events before InitializeComponent
Would be useful to have the option to create the tab close button theme which depends on the states of the button's containing tab.
To reproduce: - Add 2 RadFoms to a raddock in mdi mode. - Dock the windows by using the left or right docking guide in the center. - You will notice that the behavior is the same as like using the left or right side guides.
I have issues with Databindings for RadToggleButton and RadDock ToolWindow. Here are 3 scenarios to try with my repro application. ToggleButton Click the radToggleButtonElement1, notice that the binding never occurs. ToolWindow Docking issue 1 Dock the toolWindow1 to the left over ToolWindow2 Click toolWindow2 Click toolWindow1 Click toolWindow2 Notice each time you click another tool window, the binding is triggered even if the property value hasn't changed. ToolWindow Dockin issue 2 Dock the toolWindow1 to the left over toolWindow2 Notice that the binding is triggered, but with the previous value (Floating instead of Docked) close the toolWindow1 Notice that the binding is triggered, but with the previous value (Docked instead of Hidden)
Hidden HostWindows are not loaded correctly when the load operation is performed twice.
The issue is reproduced when the Theme service of Windows is stopped and classic windows desktop is used
FIX. RadDock - with two nested docks, setting the DocumentTabsAlignment of the other dock automatically sets the same on the inner one and this cannot be changed. Once you change it and reload the design time, its setting is being reset. To reproduce - add RadDock with couple DocumenWindows in it - add second RadDock with coupld DocumentWindows in it, in one of the windows of the first dock - set Raddock2 DoumentTabsAlignment to top - set DocumentTabStrip2 TabStripAlignment also to top or default - drag a radbutton into documentwindow3 and double click it, to get a click event - go into code view and remove the created event manually - change back to form view. the alignment in DocumentTabStrip2 has been automatically changed to bottom
support of Pin tab operation in DocumentContainer of RadDock
Dock windows should keep its icon and image that is set for them in a previous state, no matter their form, tabbed, docked,
as magnetic behaviour I mean that when you move a window close to another window, the first window just snap to the other. The same behaviour is fine when you resize a window. The magnetic behaviour helps you to arrange floating windows into the screen, so people dont get crazy trying to align and resize all the floating windows around in the screen.
1. Create a project with RadDock. 2. Add several tool windows. 3. Run the project. 4. Auto hide all tool windows at the bottom. 5. Close the last tool window. 6. Save the layout. 7. Load the layout.
1. Create a new project with RadDock and add 5 tool windows. 2. Dock all tool windows to bottom. 3. Reset the order of the tool windows to not be 1-5 4. Set the group to auto-hide 5. Save dashboard layout 6. Load dashboard layout
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.
How to reproduce: check the attached project and video Workaround: public partial class RadForm1 : Telerik.WinControls.UI.RadForm { public RadForm1() { InitializeComponent(); radDock1.FloatingWindowCreated += RadDock1_FloatingWindowCreated; } private void RadDock1_FloatingWindowCreated(object sender, Telerik.WinControls.UI.Docking.FloatingWindowEventArgs e) { e.Window = new MyWindow(this.radDock1); } } public class MyWindow : FloatingWindow { SizeF oldDpi = new SizeF(1, 1); public MyWindow(RadDock dockManager) : base (dockManager) { } protected override void HandleDpiChanged() { base.HandleDpiChanged(); SizeF descale = new SizeF(1f / this.FormElement.DpiScaleFactor.Width, 1f / this.FormElement.DpiScaleFactor.Height); this.Scale(descale); var dpi = NativeMethods.GetMonitorDpi(Screen.FromRectangle(this.Bounds), NativeMethods.DpiType.Effective); if (oldDpi != dpi) { SizeF sz = new SizeF(dpi.Width / oldDpi.Width, dpi.Height / oldDpi.Height); this.Scale(dpi); } oldDpi = dpi; } }
To reproduce: - add a dock with ToolWindow and DocumentWindow - set the following properties: ToolWindow1.TabStrip.SizeInfo.SizeMode = Telerik.WinControls.UI.Docking.SplitPanelSizeMode.Absolute ToolWindow1.TabStrip.MaximumSize = New Size(94, 400) ToolWindow1.TabStrip.SizeInfo.AbsoluteSize = New Size(94, 400) ToolWindow1.DefaultFloatingSize = New Size(94, 400) - Run the app, change the ToolWindow DockState to floating from context menu in the ToolWindow caption - re-dock the ToolWindow => its sizi is not 94,400 and its SizeMode and AbsoluteSize properties have different values If you perform the same scenario, but make the ToolWindow floating with drag and drop not with the context menu, everything works fine correctly. WORKAROUND: Private Sub RadDock1_DockStateChanging(sender As Object, e As Telerik.WinControls.UI.Docking.DockStateChangingEventArgs) If e.NewWindow Is ToolWindow1 AndAlso e.NewDockState = Telerik.WinControls.UI.Docking.DockState.Docked Then e.NewWindow.TabStrip.SizeInfo.SizeMode = Telerik.WinControls.UI.Docking.SplitPanelSizeMode.Absolute e.NewWindow.TabStrip.MaximumSize = New Size(94, 400) e.NewWindow.TabStrip.SizeInfo.AbsoluteSize = New Size(94, 400) e.NewWindow.DefaultFloatingSize = New Size(94, 400) End If End Sub
Steps to reproduce: - Create a form with RadDock on it - Use the following code in another form: Using frm As New FormWithDock() frm.ShowDialog() End Using - Close the dialog (FormWithDock) -> exception is thrown WORKAROUND - dispose the dock on form closing: Protected Overrides Sub OnClosing(e As System.ComponentModel.CancelEventArgs) RadDock1.Dispose() MyBase.OnClosing(e) End Sub
A nice addition to the existing RadDock implementation for re-docking floating windows will be the ability to re-dock floating windows to documents if the previous state of the floating window was a document window.
I've discovered a behavioral issue with the tool-window when one of its containing control's data-binding is updated. I'm designing an application using the MVVM design pattern with a basic View and View-Model. The View is a form that contains a RadDock, ToolWindow containing a Label, and a Button to update the Label's Text; and data-binding setup to the ToolWindow's property "DockState" and a Label's property "Text". The View-Model contains the bound properties "ToolWindow1DockState" and "Label1Text", which implements INotifyPropertyChanged to update the respective controls; and a method used to update Label1's text. After I click "Auto-hide" on ToolWindow1 and click the "Change Text" button, I'm expecting ToolWindow1 to remain in the Auto-hide state. Instead, ToolWindow1 is placed in the Docked state.
A user should be able to scroll to a desired item (window) by selecting it from the overflow menu. Currently, the selected item is inserted at the first position and the order of items is changed.
If we set the AutoHideSize of a ToolWindow to the RadDock size, upon opening the AutoHide window we will notice that there is a gap of about 20px between the edge of RadDock and the AutoHide window.