If you have a ToolWindow in AutoHide mode with a RadDropDownList in it and you choose an item from the list or scroll the items in the list, the ToolWindow will hide itself.
OnActivated is fired before OnLoad in forms which have RadDock instances. However, OnLoad should be fired before OnActivated.
Let's have a TextBox, ToolTip and a FloatingWindow containing the TextBox. The following code snippet will not show a tooltip for the textbox: this.toolTip1.ToolTipTitle = "ToolTip"; string strToolTip = "Exemple"; this.toolTip1.SetToolTip(textBox1, strToolTip); this.toolTip1.AutoPopDelay = 32767; this.toolTip1.Active = true;
Steps to reproduce: 1. Add a RadDock to a form 2. Add a document window 3. Add a button to the form and upon click add a user control to the document with Dock set to FIll 4. Run the project and click the button. 5. You will notice that the user control will not fill the parent container properly.
RadDock - implement BackgroundImage property.
RadDock - when loading layout, the control reads the stream from the current position instead from the beginning of it. This lead to exception "Root element is missing". Steps to reproduce: Dim strmDock As New MemoryStream RadDock1.SaveToXml(strmDock) RadDock1.LoadFromXml(strmDock) Work around: stream.Position = 0;
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--; }
When you place RadDock with AutoHideAnimation set to None, add several auto-hide windows and you switch between them, you will notice a flickering at the moment of the change.
The exception occures when the parent form is minimized.
The AutoHide popup is not shown in the scenario, demonstrated in the attached to the forum thread project.
When the DockWindowClosing event is fired, the ActiveWindow has already been changed.
The keyboard shortcuts should be executed according to the active RadDock control.
The issue could be observed in a scenario with nested RadDock controls. An exception is received when the window state is changed to AutoHide.
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.
In the test scenario the Autohide Windows is hosted in parent RadDock floating windows. The ToolWindow in AutoHide dockstate disposed, after docking the main ToolWindow to tab mode, in a specific scenario.
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;
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
To reproduce: Follow these steps: 1. Extract the project I have attached and open it in Visual Studio. 2. Run it. 2a. You should note two docked windows on the left (tabbed). 3. Click on the "Open Next Window" button. The first two clicks will simple open the first two docking windows (already open) On the 3rd click another docking window should appear on the right. Click the button a couple more times. You should have 3 docked windows on the right. 4. Now, drag the windows on the left so they are floating and docked together. 5. Click on the Save Layout button at the bottom. 6. Close and rerun the sample. You should note that the floating windows appear at the expected location. Move them off to the side away from their default location (away from the center of the screen) So far so good. 7. Upon reopening the application with toolWindow3, 4 and 5 floating and docked close the floating window. 8. Save the layout. --> This is where the key is... 9. Close and rerun the sample. If you watch quickly you'll see several windows "flicker". They appear and disappear quickly. Now, if you hit the "Open Next Window" button 5x, it will open the first two (already open) and then open the 3rd, 4th and 5th windows. But NOTE - they are NOT docked together. They are also not at the location where you left them (remember you needed to move them to the side)
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.