ClassRadDock
Represents the major control in the Telerik.WinForms.UI.Docking assembly. Root component for the entire docking framework.
Provides highly extensible and completely transparent transaction-based API for managing a set of tool and document windows registered within the docking framework.
Mimics the user experience found in Microsoft Visual Studio - dockable panes, tabbed documents, document navigation plus much more.
Definition
Namespace:Telerik.WinControls.UI.Docking
Assembly:Telerik.WinControls.RadDock.dll
Syntax:
[TelerikToolboxCategory("Containers")]
public class RadDock : RadSplitContainer, IDropTarget, ISynchronizeInvoke, IWin32Window, IBindableComponent, IComponent, IDisposable, INotifyPropertyChanged, ISupportInitializeNotification, ISupportInitialize, IComponentTreeHandler, ILayoutHandler, IAnalyticsProvider, ILoadObsoleteDockingManagerXml, IMessageListener
Inheritance: objectMarshalByRefObjectComponentControlScrollableControlRadControlSplitPanelRadSplitContainerRadDock
Implements:
Inherited Members
Constructors
Fields
DockSplitContainerThemeClassName
Declaration
public const string DockSplitContainerThemeClassName = "DockSplitContainer"
Field Value
Properties
ActiveFloatingWindows
Gets a read-only collection of all active floating windows managed by this RadDock instance.
Declaration
[Browsable(false)]
public ReadOnlyCollection<FloatingWindow> ActiveFloatingWindows { get; }
Property Value
Remarks
This property provides access to all floating windows that contain valid dock windows. Floating windows that are disposed or don't contain valid dock windows are filtered out. This collection is useful for operations that need to work with only the currently active floating windows.
ActiveWindow
Gets or sets the DockWindow instance, which is currently active (meaning it contains the Keyboard focus).
Declaration
[Browsable(false)]
public DockWindow ActiveWindow { get; set; }
Property Value
AutoDetectMdiChildren
Gets or sets a value indicating whether [auto detect MDI child].
Declaration
public bool AutoDetectMdiChildren { get; set; }
Property Value
true if [auto detect MDI child]; otherwise, false.
AutoHideAnimation
Determines what animation will be used when displaying/hiding auto-hidden windows.
Declaration
public AutoHideAnimateMode AutoHideAnimation { get; set; }
Property Value
AutoHideAnimationDuration
Gets or sets the duration of the auto hide window animation. The default value is 200 milliseconds.
Declaration
[Browsable(false)]
public int AutoHideAnimationDuration { get; set; }
Property Value
The duration of the auto hide window animation. The default value is 200 milliseconds.
AutoHidePopup
Gets the popup control used for displaying auto-hide windows.
Declaration
public AutoHidePopup AutoHidePopup { get; }
Property Value
An AutoHidePopup instance that manages the display of auto-hidden windows.
Remarks
The auto-hide popup is displayed when the user hovers over an auto-hide tab, showing the content of the associated docking window temporarily.
CommandManager
Gets the RadDockCommandManager registered with this RadDock instance.
Declaration
[Browsable(false)]
public RadDockCommandManager CommandManager { get; }
Property Value
ContentRectangle
Overrides the content rectangle to add any visible auto-hide tabstrips to the calculations.
Declaration
[Browsable(false)]
public override Rectangle ContentRectangle { get; }
Property Value
Overrides
DockWindows
Gets a collection with all the currently attached DockWindow instances.
Declaration
[Browsable(false)]
public DockWindowCollection DockWindows { get; }
Property Value
DockingGuidesTemplate
Gets or sets the template, which defines the appearance of the guides displayed upon drag-and-drop operation.
Declaration
[Browsable(false)]
public IDockingGuidesTemplate DockingGuidesTemplate { get; set; }
Property Value
DocumentManager
Gets the DocumentManager instance that manages all the DockWindow instances which are parented MainDocumentContainer. For a Document is considered either a DocumentWindow instance or a ToolWindow, which current DockState is TabbedDocument.
Declaration
public DocumentManager DocumentManager { get; }
Property Value
DocumentTabsAlignment
Gets or sets the alignment of the TabStripElement in all DocumentTabStrip instances.
Declaration
public TabStripAlignment DocumentTabsAlignment { get; set; }
Property Value
DocumentTabsTextOrientation
Gets or sets the text orientation of the TabStripElement in all ToolTabStrip instances.
Declaration
public TabStripTextOrientation DocumentTabsTextOrientation { get; set; }
Property Value
DocumentTabsVisible
Determines whether the TabStripElement in DocumentTabStrip instances is visible.
DragDropAllowedDockStates
Gets or sets the allowed dock states for a committing drag-and-drop operation.
Declaration
public AllowedDockState DragDropAllowedDockStates { get; set; }
Property Value
DragDropMode
Gets or sets the mode used by the DragDropService when a drag-and-drop request is made.
Declaration
public DragDropMode DragDropMode { get; set; }
Property Value
EnableFloatingWindowSnapping
Determines whether all floating windows' will snap to their edges.
Declaration
[Browsable(true)]
public bool EnableFloatingWindowSnapping { get; set; }
Property Value
EnableFloatingWindowTheming
Determines whether all floating windows' frames within the framework will be themed using Telerik's TPF or will be let with their system appearance.
Declaration
public bool EnableFloatingWindowTheming { get; set; }
Property Value
Enabled
Declaration
[Browsable(false)]
public bool Enabled { get; set; }
Property Value
GuidToNameMappings
Gets a collection of mappings between GUIDs and window names used during serialization and deserialization.
Declaration
[Browsable(false)]
public GuidToNameMappingCollection GuidToNameMappings { get; }
Property Value
Remarks
This collection maintains the associations between window GUIDs and their names, which is critical for correctly restoring windows during deserialization.
The GUID-to-name mappings ensure that windows can be identified consistently across serialization operations, even if window names change. This is particularly important when loading layouts in applications where window instances may be recreated with different names but should still be recognized as the same logical windows.
IsDragging
Gets a value indicating whether a drag-and-drop operation is currently in progress.
Declaration
[Browsable(false)]
public bool IsDragging { get; }
Property Value
Remarks
This property checks the state of the DragDropService to determine if a window or tab is currently being dragged by the user. This can be useful for controlling UI behavior during drag operations or for preventing certain actions while dragging is in progress.
IsInTransactionBlock
Determines whether the RadDock is currently in a transaction (internal operation).
Declaration
[Browsable(false)]
public bool IsInTransactionBlock { get; }
Property Value
LayoutStrategyType
Gets or sets the Type to be used when a new RadSplitContainer instance is internally created and a layout strategy is initialized for it. Allows plugging of completely custom layout behavior.
Declaration
[Browsable(false)]
public Type LayoutStrategyType { get; set; }
Property Value
MainDocumentContainerVisible
Determines whether the main document container is visible.
Declaration
public bool MainDocumentContainerVisible { get; set; }
Property Value
MdiChildren
Gets an array with all the standard Forms added as TabbedDocument to this RadDock instance.
Declaration
[Browsable(false)]
public Form[] MdiChildren { get; }
Property Value
Form[]
MdiChildrenDockType
Gets or sets a value indicating dock type of MDI child host windows added to RadDock.
Declaration
public DockType MdiChildrenDockType { get; set; }
Property Value
QuickNavigatorSettings
Gets the object which controls the appearance of the QuickNavigator control.
Declaration
public QuickNavigatorSettings QuickNavigatorSettings { get; }
Property Value
SerializableAutoHideContainer
Gets an instance of DockAutoHideSerializationContainer that contains information about auto-hidden windows which have been set up through designer or xml file. This nethod is no intended for use directly from your code.
Declaration
[Browsable(false)]
public DockAutoHideSerializationContainer SerializableAutoHideContainer { get; }
Property Value
SerializableFloatingWindows
Gets an instance of FloatingWindowList that contains information about floating windows which have been set up through designer or xml file. This nethod is no intended for use directly from your code.
Declaration
[Browsable(false)]
public FloatingWindowList SerializableFloatingWindows { get; }
Property Value
ShowDocumentCloseButton
Determines whether DocumentTabStrip instances will display a Close Button next to each item.
ShowDocumentPinButton
Determines whether DocumentTabStrip instances will display a Pin Button next to each item.
ShowToolCloseButton
Determines whether ToolTabStrip instances will display Close Button next to each item.
SingleScreen
Gets or sets a value indicating whether the RadDock control behavior and layout apply only to primary screen.
Declaration
[Browsable(true)]
public bool SingleScreen { get; set; }
Property Value
Site
Declaration
public override ISite Site { get; set; }
Property Value
Overrides
SplitPanels
Gets the collection of split panels contained in this RadDock control.
Declaration
[Browsable(false)]
public SplitPanelCollection SplitPanels { get; }
Property Value
A SplitPanelCollection containing the split panels.
Remarks
This property is hidden from the designer and should not be used directly. The RadDock control manages its panels internally.
SplitterWidth
Gets or sets the width of a single splitter on the container. Specify zero to prevent displaying any splitters at all.
Declaration
public override int SplitterWidth { get; set; }
Property Value
Overrides
TabStripsLayout
Gets the layout panel that contains the tab strips for the docking windows.
Declaration
[Browsable(false)]
public DockLayoutPanel TabStripsLayout { get; }
Property Value
A DockLayoutPanel that manages the layout of tab strips in the docking framework.
ThemeClassName
Gets or sets the theme class name used for applying visual styles to this control.
Declaration
[Browsable(false)]
public override string ThemeClassName { get; set; }
Property Value
Overrides
Remarks
The theme class name is used by the theming engine to identify which visual styles should be applied to this control. For RadDock, this property always returns the full name of the RadDock class, ensuring consistent styling across all instances.
This property is overridden to provide a fixed value and should not be modified directly.
ToolTabsAlignment
Gets or sets the alignment of the TabStripElement in all ToolTabStrip instances.
Declaration
public TabStripAlignment ToolTabsAlignment { get; set; }
Property Value
ToolTabsTextOrientation
Gets or sets the text orientation of the TabStripElement in all ToolTabStrip instances.
Declaration
public TabStripTextOrientation ToolTabsTextOrientation { get; set; }
Property Value
ToolTabsVisible
Determines whether the TabStripElement in ToolTabStrip instances is visible.
ToolWindowInsertOrder
Gets or sets the insert order to be used when adding dock windows to a ToolTabStrip.
Declaration
public DockWindowInsertOrder ToolWindowInsertOrder { get; set; }
Property Value
XmlSerializationInfo
Gets the serialization info for RadDock used by Save/Load loyout methods to persist grid settings to/from XML. By default, or when set to null the ComponentXmlSerializationInfo provided by GetDefaultXmlSerializationInfo() will be used.
Declaration
[Browsable(false)]
public ComponentXmlSerializationInfo XmlSerializationInfo { get; set; }
Property Value
this[string]
Gets DockWindow instance with the corresponding Name.
Declaration
public DockWindow this[string dockWindowName] { get; }
Parameters
dockWindowName
Property Value
DockWindow instance with matching Name. Null (Nothing in VB.NET) otherwise.
Methods
ActivateMdiChild(Form)
Activates the MDI child of a form.
Declaration
public void ActivateMdiChild(Form form)
Parameters
form
The child form to activate.
ActivateWindow(DockWindow)
Activates the specified DockWindow and gives it the keyboard focus.
Declaration
public bool ActivateWindow(DockWindow window)
Parameters
window
The DockWindow to activate. If null, no window will be activated.
Returns
True if the window was successfully activated and has focus; otherwise, false.
Remarks
This method activates the specified window by:
- Making it the active window in the RadDock control
- Ensuring it's visible (sliding out if auto-hidden)
- Giving it keyboard focus
- Updating its visual state to appear active
- Raising appropriate ActiveWindowChanging and ActiveWindowChanged events
This method is equivalent to calling ActivateWindow(window, false).
ActivateWindow(DockWindow, bool)
Activates the specified window and gives it the keyboard focus.
Declaration
protected virtual bool ActivateWindow(DockWindow window, bool forceNotify)
Parameters
window
forceNotify
True to force ActiveWindowChanging and ActiveWindowChanged notifications, false otherwise. Sometimes a transaction may change the current active window several times and the method needs to know when to raise the notifications.
Returns
AddDocument(DockWindow)
Adds the specified DockWindow instance to the main document tab strip.
Declaration
public void AddDocument(DockWindow dockWindow)
Parameters
dockWindow
The dock window.
AddDocument(DockWindow, DockPosition)
Adds the the specified DockWindow instance at the specified dock position, aligned with the main document tabstrip.
Declaration
public void AddDocument(DockWindow dockWindow, DockPosition position)
Parameters
dockWindow
The dock window.
position
The desired dock position.
AddDocument(DockWindow, DockWindow, DockPosition)
Adds the the specified DockWindow instance to the specified DocumentTabStrip instance.
Declaration
public void AddDocument(DockWindow dockWindow, DockWindow target, DockPosition position)
Parameters
dockWindow
The dock window.
target
The target of the dock opeation.
position
The desired dock position.
AddDocument(DockWindow, DocumentTabStrip, DockPosition)
Adds the specified DockWindow instance to a new DocumentTabStrip instance.
Declaration
public void AddDocument(DockWindow dockWindow, DocumentTabStrip tabStrip, DockPosition position)
Parameters
dockWindow
The dock window.
tabStrip
The DocumentTabStrip, which is the target of the operation.
position
The position.
AddDocuments(DockWindow[], DocumentTabStrip, DockPosition)
Adds a collection of DockWindows to a new DocumentTabStrip instance.
Declaration
public void AddDocuments(DockWindow[] dockWindows, DocumentTabStrip tabStrip, DockPosition position)
Parameters
dockWindows
The dock windows.
tabStrip
The DocumentTabStrip, which is the target of the operation.
position
The position.
AutoHideWindow(DockWindow)
Makes the specified DockWindow auto-hidden along an edge of the docking layout.
Declaration
public void AutoHideWindow(DockWindow window)
Parameters
window
The DockWindow instance to auto-hide.
Remarks
This method changes the dock state of the window to auto-hide, making it collapse to a tab along an edge of the docking layout. When auto-hidden, the window will slide out when the user hovers over or clicks its tab.
If the window is part of a tab strip, the entire tab strip will be auto-hidden. The auto-hide position (Left, Right, Top, Bottom) is determined based on the window's current position in the layout.
AutoHideWindows(IEnumerable<DockWindow>, AutoHidePosition)
Makes the specified collection of DockWindow instances auto-hidden at a specific edge.
Declaration
public void AutoHideWindows(IEnumerable<DockWindow> windows, AutoHidePosition position)
Parameters
windows
IEnumerable<DockWindow>
The collection of DockWindow instances to auto-hide.
position
The edge position (Left, Right, Top, Bottom) at which the windows should be auto-hidden.
Remarks
This method changes the dock state of all specified windows to auto-hide, making them collapse to tabs along the specified edge of the docking layout. When auto-hidden, the windows will slide out when the user hovers over or clicks their tabs.
All windows specified will be grouped together in the auto-hide area, with each window represented by a tab.
BeginInit()
Signals the object that initialization is beginning.
Declaration
public override void BeginInit()
Overrides
Remarks
This method suspends certain operations like layout updates and event raising during the initialization phase to improve performance and prevent errors from incomplete state.
BeginTransactionBlock()
Opens a transaction (batch) operation. This is used by the framework to indicate some lengthy operations, during which no updates should be performed.
Declaration
public void BeginTransactionBlock()
BeginTransactionBlock(bool)
Opens a transaction (batch) operation. This is used by the framework to indicate some lengthy operations, during which no updates should be performed.
Declaration
public void BeginTransactionBlock(bool saveActiveWindow)
Parameters
saveActiveWindow
BeginUpdate()
Begins an update operation. Internally used by the transaction mechanism.
Declaration
public void BeginUpdate()
CanChangeWindowState(DockWindow, DockState)
Determines whether the provided dock state may be applied to the specified DockWindow.
Declaration
public bool CanChangeWindowState(DockWindow window, DockState state)
Parameters
window
state
Returns
CanChangeWindowState(DockWindow, DockState, bool)
Determines whether the specified window's DockState value can be changed to the specified new one.
Declaration
protected virtual bool CanChangeWindowState(DockWindow window, DockState state, bool raiseChanging)
Parameters
window
The window, which should be examined.
state
The new target state.
raiseChanging
True to raise DockStateChanging notification, false otherwise.
Returns
True if the state can be changed, false otherwise.
CleanUp()
Performs a clean-up pass which removes all unnecessary internally created split panels and/or collapses or disposes them.
Declaration
public void CleanUp()
CloseAllWindows()
Calls the Close method for all currently registered windows, using each window's CloseAction.
Declaration
public bool CloseAllWindows()
Returns
[true] if all windows were successfully closed, [false] otherwise
CloseAutoHidePopup()
Closes the popup of the currently opened auto-hide window.
Declaration
public void CloseAutoHidePopup()
CloseWindow(DockWindow)
Removes or hides the specified window based on its CloseAction property.
Declaration
public void CloseWindow(DockWindow window)
Parameters
window
The DockWindow instance to close.
Remarks
This method closes the specified window according to its CloseAction property:
- CloseAction.Close: Removes the window from the layout without disposing it
- CloseAction.CloseAndDispose: Removes the window and disposes it
- CloseAction.Hide: Hides the window but keeps it registered with the docking manager
If the window is already hidden (DockState.Hidden) and its CloseAction is Hide, this method does nothing.
CloseWindows(IEnumerable<DockWindow>)
Removes or hides the specified collection of windows based on their CloseAction properties.
Declaration
public void CloseWindows(IEnumerable<DockWindow> windows)
Parameters
windows
IEnumerable<DockWindow>
The collection of DockWindow instances to close.
Remarks
This method closes each window in the collection according to its CloseAction property:
- CloseAction.Close: Removes the window from the layout without disposing it
- CloseAction.CloseAndDispose: Removes the window and disposes it
- CloseAction.Hide: Hides the window but keeps it registered with the docking manager
The operation is performed as a single transaction, ensuring consistent behavior and proper events. Before closing each window, a DockWindowClosing event is raised, which can be handled to cancel the operation for specific windows.
CommitTransaction(RadDockTransaction)
Commits the specified transaction.
Declaration
protected virtual void CommitTransaction(RadDockTransaction transaction)
Parameters
transaction
Contains(DockWindow)
Determines whether the specified DockWindow is registered with this RadDock instances.
Declaration
public bool Contains(DockWindow dockWindow)
Parameters
dockWindow
Returns
Contains(string)
Determines whether a DockWindow instance with the specified name is registered with this RadDock instance.
CreateChildItems(RadElement)
Declaration
protected override void CreateChildItems(RadElement parent)
Parameters
parent
Overrides
CreateDefaultTabStrip(DockType)
Creates and returns the default DockTabStrip for a given DockType.
Declaration
public DockTabStrip CreateDefaultTabStrip(DockType type)
Parameters
type
The DockType that determines what kind of tab strip to create. DockType.Document creates a DocumentTabStrip, while any other value creates a ToolTabStrip.
Returns
A new instance of DockTabStrip appropriate for the specified dock type, with default properties applied based on the dock type.
Remarks
This method creates either a DocumentTabStrip or ToolTabStrip based on the specified type parameter. The created tab strip is properly initialized with DPI scaling and other settings but is not automatically added to the dock layout - you need to add it manually to the appropriate container.
CreateLayoutStrategy()
Creates new SplitContainerLayoutStrategy instance. Allows inheritors to provide custom layout strategy implementation.
Declaration
protected virtual SplitContainerLayoutStrategy CreateLayoutStrategy()
Returns
A new instance of SplitContainerLayoutStrategy that will be used for layout calculations.
Remarks
This method creates a layout strategy based on the layoutStrategyType field. If instantiation fails or layoutStrategyType is null, it creates a default SplitContainerLayoutStrategy instance. The layout strategy is responsible for calculating the size and position of panels within split containers.
CreateXmlWriterSettings()
Creates the core XmlWritterSettings to be used by the serialization manager.
Declaration
protected virtual XmlWriterSettings CreateXmlWriterSettings()
Returns
DisplayQuickNavigator()
Visualizes the QuickNavigator control allowing for active tool windows and documents browsing.
Declaration
public QuickNavigator DisplayQuickNavigator()
Returns
The QuickNavigator instance that is currently displayed. May return null if operation was unsuccessful.
DisplayWindow(DockWindow)
Displays the specified window if it was previously hidden, restoring it to its previous dock state.
Declaration
public void DisplayWindow(DockWindow window)
Parameters
window
The DockWindow instance to display.
Remarks
This method restores a hidden window to its previous dock state. If the window was not previously hidden or is not registered with this RadDock instance, this method has no effect.
The window will be displayed in the same location it was in before being hidden, whether that was docked, floating, auto-hidden, or as a tabbed document.
DisplayWindows(IEnumerable<DockWindow>)
Displays the provided collection of dock windows if they were previously hidden and are registered with this RadDock instance.
Declaration
public void DisplayWindows(IEnumerable<DockWindow> windows)
Parameters
windows
IEnumerable<DockWindow>
The collection of DockWindow instances to display.
Remarks
This method restores hidden windows to their previous dock states. Only windows that meet all of the following criteria are affected:
- The window is registered with this RadDock instance
- The window is currently hidden (DockState.Hidden)
- The window has a valid previous dock state to restore to
Each window will be displayed in the same location it was in before being hidden, whether that was docked, floating, auto-hidden, or as a tabbed document.
Dispose(bool)
Releases the unmanaged resources used by the RadDock and optionally releases the managed resources.
Declaration
protected override void Dispose(bool disposing)
Parameters
disposing
true to release both managed and unmanaged resources; false to release only unmanaged resources.
Overrides
Remarks
This method cleans up all resources associated with the docking framework, including command managers, document managers, MDI controllers, and floating windows.
DockControl(Control, DockPosition)
Registers the specified control as part of the docking framework.
Declaration
public HostWindow DockControl(Control control, DockPosition position)
Parameters
control
position
Returns
DockControl(Control, DockPosition, DockType)
Registers the specified control as part of the docking framework.
Declaration
public HostWindow DockControl(Control control, DockPosition position, DockType dockType)
Parameters
control
position
dockType
Returns
DockControl(Control, DockTabStrip, DockPosition)
Registers the specified control as part of the docking framework.
Declaration
public HostWindow DockControl(Control control, DockTabStrip dockAnchor, DockPosition position)
Parameters
control
dockAnchor
position
Returns
DockControl(Control, DockTabStrip, DockPosition, DockType)
Registers the specified control as part of the docking framework.
Declaration
public HostWindow DockControl(Control control, DockTabStrip dockAnchor, DockPosition position, DockType dockType)
Parameters
control
dockAnchor
position
dockType
Returns
DockControl(Control, DockWindow, DockPosition)
Registers the specified control as part of the docking framework.
Declaration
public HostWindow DockControl(Control control, DockWindow target, DockPosition position)
Parameters
control
target
position
Returns
DockControl(Control, DockWindow, DockPosition, DockType)
Registers the specified control as part of the docking framework.
Declaration
public HostWindow DockControl(Control control, DockWindow target, DockPosition position, DockType dockType)
Parameters
control
target
position
dockType
Returns
DockWindow(DockWindow, DockPosition)
Registers the specified DockWindow instance and docks it at the desired position.
Declaration
public void DockWindow(DockWindow dockWindow, DockPosition position)
Parameters
dockWindow
The window to dock.
position
The position where the window should be docked (Top, Bottom, Left, Right, Fill).
Remarks
This method registers the window with the docking manager and positions it according to the specified dock position. The window will be docked relative to the main container.
DockWindow(DockWindow, DockWindow, DockPosition)
Registers the specified DockWindow instance and docks it at the desired position, using the provided target window as an anchor.
Declaration
public void DockWindow(DockWindow dockWindow, DockWindow target, DockPosition position)
Parameters
dockWindow
The window to dock.
target
The target window to use as an anchor for the docking operation. If null, the main container is used.
position
The position relative to the target where the window should be docked (Top, Bottom, Left, Right, Fill).
Remarks
This method registers the window with the docking manager and positions it according to the specified dock position, relative to the target window. If the target is null, the main container is used as the reference point.
DockWindow(DockWindow, SplitPanel, DockPosition)
Registers the specified DockWindow instance and docks it at the desired position, using the provided SplitPanel as an anchor.
Declaration
public void DockWindow(DockWindow window, SplitPanel dockAnchor, DockPosition position)
Parameters
window
dockAnchor
Any split panel instance that resides
position
EndInit()
Signals the object that initialization is complete.
Declaration
public override void EndInit()
Overrides
Remarks
This method is called at the end of initialization and ensures that all components of the RadDock framework are properly initialized and registered, including floating windows, auto-hide windows, and docked windows.
EndTransactionBlock()
Ends the current transaction block and commits all pending transactions.
Declaration
public void EndTransactionBlock()
Remarks
This method decrements the transaction block counter. When the counter reaches zero, all pending transactions are executed, and normal layout operations are resumed. Each call to EndTransactionBlock should correspond to a previous call to BeginTransactionBlock.
EndUpdate(bool)
Ends a BeginUpdate block and optionally performs layout update.
Declaration
public void EndUpdate(bool update)
Parameters
update
Specifies whether to perform layout operations after ending the update block. When true, layout operations are performed. When false, layout remains suspended.
Remarks
Use this method to end an update operation that was started with BeginUpdate. The update parameter allows control over whether layout is immediately performed or remains suspended.
EnqueueTransaction(RadDockTransaction)
Adds a transaction operation to the current transaction block.
Declaration
public void EnqueueTransaction(RadDockTransaction transaction)
Parameters
transaction
The transaction to add to the current block. Must not be null.
Exceptions
Thrown when the transaction parameter is null.
Thrown when there is no active transaction block.
Remarks
This method adds a dock operation to the current transaction. Transactions are executed as a batch when the transaction block is closed. A transaction block must be opened with BeginTransactionBlock before this method can be called.
EnumFrameworkControls<T>()
Enumerates all currently alive T instances available within the framework.
Declaration
public IEnumerable<T> EnumFrameworkControls<T>() where T : Control
Returns
IEnumerable<T>
FloatToolTabStrip(ToolTabStrip, Rectangle)
Makes the specified tool tab strip floating (detached in its own window).
Declaration
public void FloatToolTabStrip(ToolTabStrip strip, Rectangle bounds)
Parameters
strip
The ToolTabStrip to make floating.
bounds
The desired floating bounds. Pass Rectangle.Empty to set the default bounds based on the strip's preferred size.
Remarks
This method detaches the entire tool tab strip, including all contained windows, from its current position in the docking layout and displays it in a separate floating window with the specified bounds. The tab structure is preserved in the floating window - all windows that were in the tab strip remain grouped together.
FloatWindow(DockWindow)
Makes the specified window floating (detached in its own window).
Declaration
public void FloatWindow(DockWindow window)
Parameters
window
The DockWindow instance to make floating.
Remarks
This method detaches the window from its current position in the docking layout and displays it in a separate floating window. It uses default bounds for the new floating window. To specify the bounds of the floating window, use the overload that accepts a Rectangle parameter.
FloatWindow(DockWindow, Rectangle)
Makes the specified window floating (detached in its own window), using the provided bounds.
Declaration
public void FloatWindow(DockWindow window, Rectangle bounds)
Parameters
window
The DockWindow instance to make floating.
bounds
The desired floating bounds. Pass Rectangle.Empty to set the default bounds based on the window's preferred size.
Remarks
This method detaches the window from its current position in the docking layout and displays it in a separate floating window with the specified bounds. The DockType of the container in the floating window is automatically determined based on whether the window is a DocumentWindow or not.
FloatWindows(IEnumerable<DockWindow>, Rectangle)
Makes the specified collection of windows floating (detached in a single window), using the provided bounds.
Declaration
public void FloatWindows(IEnumerable<DockWindow> windows, Rectangle bounds)
Parameters
windows
IEnumerable<DockWindow>
The collection of DockWindow instances to make floating together.
bounds
The desired floating bounds. Pass Rectangle.Empty to set the default bounds based on the windows' preferred sizes.
Remarks
This method detaches all the specified windows from their current positions in the docking layout and displays them together in a single floating window with the specified bounds. All windows will be arranged in a tab strip within the floating window. This overload uses DockType.ToolWindow as the container type. For document windows, use the overload that accepts a DockType parameter.
FloatWindows(IEnumerable<DockWindow>, Rectangle, DockType)
Makes the specified windows floating (detached in a single window), using the provided bounds and container type.
Declaration
public void FloatWindows(IEnumerable<DockWindow> windows, Rectangle bounds, DockType containerType)
Parameters
windows
IEnumerable<DockWindow>
The collection of DockWindow instances to make floating together.
bounds
The desired floating bounds. Pass Rectangle.Empty to set the default bounds based on the windows' preferred sizes.
containerType
The type of the container inside the floating form - DockType.ToolWindow or DockType.Document.
Remarks
This method detaches all the specified windows from their current positions in the docking layout and displays them together in a single floating window with the specified bounds. All windows will be arranged in a tab strip of the specified type within the floating window. The container type determines the appearance and behavior of the tab strip in the floating window.
FlushTransactions()
Commits all pending transactions without exitting the transaction block.
Declaration
public void FlushTransactions()
GetAutoHideTab(DockWindow)
Gets the tab strip item associated with an auto-hidden dock window.
Declaration
public TabStripItem GetAutoHideTab(DockWindow dockWindow)
Parameters
dockWindow
The dock window for which to find the auto-hide tab.
Returns
The TabStripItem representing the auto-hide tab for the specified window, or null if the window is not in auto-hide mode or doesn't have an associated tab.
Remarks
Auto-hide tabs are displayed along the edges of the docking container and allow users to temporarily show windows that are in auto-hide mode.
GetAutoHideTabStrip(AutoHidePosition)
Gets the auto hide tab strip.
Declaration
public RadPageViewStripElement GetAutoHideTabStrip(AutoHidePosition position)
Parameters
position
The edge position of the auto-hide strip to retrieve.
Returns
A RadPageViewStripElement representing the tab strip at the specified position.
Remarks
The tab strip contains the tabs that represent auto-hidden windows. When the user hovers over one of these tabs, the corresponding window is temporarily displayed.
GetDefaultDocumentTabStrip(bool)
Gets the default DocumentTabStrip instance, used to add documents without explicitly specified dock target.
Declaration
public DocumentTabStrip GetDefaultDocumentTabStrip(bool createNew)
Parameters
createNew
True to create a new DocumentTabStrip instance and add it to the document container.
Returns
GetDefaultXmlSerializationInfo()
Gets the default serialization information for RadDock used by Save/Load layout methods to persist docking settings to/from XML.
Declaration
public virtual ComponentXmlSerializationInfo GetDefaultXmlSerializationInfo()
Returns
A ComponentXmlSerializationInfo object containing the default serialization settings for RadDock.
Remarks
You can use the serialization information to customize which properties of RadDock and related objects are included in or excluded from XML serialization. This allows you to control exactly what aspects of the docking layout are persisted.
To customize serialization, you can:
- Override this method in a derived class to return modified serialization information
- Modify the XmlSerializationInfo property directly
Common customizations include:
- Excluding specific properties that shouldn't be persisted
- Adding custom properties that should be persisted
- Changing serialization behavior for certain object types
GetHostWindow(Control)
Get the host window for Control instance docked with DockControl method or for MDI children Form object
Declaration
public HostWindow GetHostWindow(Control control)
Parameters
control
Returns
found HostWindow instance or null
GetNextDocumentStrip(DockWindow)
Gets the next document tab strip, regarding the specified DockWindow. The window should be in TabbedDocument state for the method to work.
Declaration
public DocumentTabStrip GetNextDocumentStrip(DockWindow window)
Parameters
window
Returns
GetPreviousDocumentStrip(DockWindow)
Gets the previous document tab strip, regarding the specified DockWindow. The window should be in TabbedDocument state for the method to work.
Declaration
public DocumentTabStrip GetPreviousDocumentStrip(DockWindow window)
Parameters
window
Returns
GetService<T>()
Retrieves the currently registered service by the specified type.
Declaration
public T GetService<T>() where T : RadDockService
Returns
T
The registered service of type T, or null if no such service is registered.
Remarks
This method searches all registered services for one that is of the specified type T. It returns the first matching service found, or null if no service of type T is registered. This method is useful when you know what kind of service you need but don't know its key.
GetService<T>(int)
Retrieves the currently registered service by the provided key.
Declaration
protected T GetService<T>(int key) where T : RadDockService
Parameters
key
The key that identifies the service, typically a value from ServiceConstants.
Returns
T
The registered service of type T associated with the specified key, or null if no such service is registered.
Remarks
This method retrieves a service using its key. All predefined service keys can be found in the ServiceConstants class. It returns the service cast to type T, or null if either no service is registered with the key or the registered service is not of type T.
GetSplitterElementAtPoint(Point)
Declaration
public override SplitterElement GetSplitterElementAtPoint(Point clientPoint)
Parameters
clientPoint
Returns
Overrides
GetWindow<T>(string)
Gets DockWindow instance with the corresponding Name by the specified type.
Declaration
public T GetWindow<T>(string dockWindowName) where T : DockWindow
Parameters
dockWindowName
Returns
T
DockWindow instance with matching Name. Null (Nothing in VB.NET) otherwise.
GetWindows(params Type[])
Gets the windows by the specified types.
Declaration
public IEnumerable<DockWindow> GetWindows(params Type[] types)
Parameters
types
Type[]
The types of the windows to get.
Returns
IEnumerable<DockWindow>
A collection of DockWindow instances matching the specified types. If no types are specified, returns all windows.
Remarks
This method filters windows based on their type. It can be used to retrieve specific window types, such as tool windows or document windows, by providing the corresponding type parameters.
GetWindows<T>()
Gets the windows by the specified type.
Declaration
public IEnumerable<T> GetWindows<T>() where T : DockWindow
Returns
IEnumerable<T>
LoadFromXml(Stream, bool)
Loads the docking layout configuration from an XML stream.
Declaration
public void LoadFromXml(Stream stream, bool clearDocking = false)
Parameters
stream
The stream containing the XML layout data. The stream must be readable and its position will be reset to the beginning.
clearDocking
When set to true, removes all existing dock windows using the CloseAndDispose action before loading the new layout.
Remarks
This method automatically detects whether the XML in the stream was created with the legacy DockingManager or with the current RadDock, and adapts its loading strategy accordingly. This enables backward compatibility with layouts saved by older versions.
The XML stream should contain information about window positions, sizes, dock states, and relationships between windows. Windows that need to be restored must already be registered with this RadDock instance or they will be ignored during loading.
This overload is useful when the layout is stored in memory or in a database rather than in a file. To save the current layout to a stream, use the SaveToXml(Stream) method.
LoadFromXml(TextReader, bool)
Loads the docking layout configuration from a TextReader. Note that this is a new method and does not support loading xml that was written using DockingManager.
Declaration
public void LoadFromXml(TextReader textReader, bool clearDocking = false)
Parameters
textReader
The text reader.
clearDocking
if set to true removes the existing dock windows using the CloseAndDispose action.
LoadFromXml(string, bool)
Loads the docking layout configuration from an XML file.
Declaration
public void LoadFromXml(string fileName, bool clearDocking = false)
Parameters
fileName
The path to the XML file containing the saved layout.
clearDocking
When set to true, removes all existing dock windows using the CloseAndDispose action before loading the new layout.
Remarks
This method automatically detects whether the XML file was created with the legacy DockingManager or with the current RadDock, and adapts its loading strategy accordingly. This enables backward compatibility with layouts saved by older versions.
The XML file contains information about window positions, sizes, dock states, and relationships between windows. Windows that need to be restored must already be registered with this RadDock instance or they will be ignored during loading.
To save the current layout to an XML file, use the SaveToXml method and any of its overloads.
LoadFromXmlCore(XmlReader, bool, bool)
Overrwrite this method to change the loading of docking layout configuration.
Declaration
protected virtual void LoadFromXmlCore(XmlReader reader, bool oldXmlFormat, bool clearDocking = false)
Parameters
reader
The XmlReader instance that will be used to load the layoiut configuration.
oldXmlFormat
if set to true the layout configuration is in the old DockingManager format.
clearDocking
if set to true removes the existing dock windows using the CloseAndDispose action.
MoveToNextDocumentTabStrip(DockWindow)
Move DockWindow to next document tab strip if exist when DockWindow is in document mode
Declaration
public bool MoveToNextDocumentTabStrip(DockWindow dockWindow)
Parameters
dockWindow
Returns
MoveToPreviousDocumentTabStrip(DockWindow)
Move DockWindow to previuos document tab strip if exist when DockWindow is in document mode
Declaration
public bool MoveToPreviousDocumentTabStrip(DockWindow dockWindow)
Parameters
dockWindow
Returns
OnActiveWindowChanged(DockWindowEventArgs)
Raises the ActiveWindowChanged event.
Declaration
protected virtual void OnActiveWindowChanged(DockWindowEventArgs e)
Parameters
e
OnActiveWindowChanging(DockWindowCancelEventArgs)
Raises the ActiveWindowChanging event.
Declaration
protected virtual void OnActiveWindowChanging(DockWindowCancelEventArgs e)
Parameters
e
OnAutoHideButtonClicked(ToolTabStrip)
An Auto-hide button click notification, received from a registered ToolTabStrip.
Declaration
protected virtual void OnAutoHideButtonClicked(ToolTabStrip strip)
Parameters
strip
OnAutoHideWindowDisplayed(DockWindowEventArgs)
Raises the AutoHideWindowDisplayed event.
Declaration
protected virtual void OnAutoHideWindowDisplayed(DockWindowEventArgs e)
Parameters
e
OnAutoHideWindowDisplaying(AutoHideWindowDisplayingEventArgs)
Raises the AutoHideWindowDisplaying event.
Declaration
protected virtual void OnAutoHideWindowDisplaying(AutoHideWindowDisplayingEventArgs e)
Parameters
e
OnAutoHideWindowHidden(DockWindowEventArgs)
Raises the AutoHideWindowHidden event.
Declaration
protected virtual void OnAutoHideWindowHidden(DockWindowEventArgs e)
Parameters
e
OnAutoHideWindowHiding(DockWindowCancelEventArgs)
Raises the AutoHideWindowHiding event.
Declaration
protected virtual void OnAutoHideWindowHiding(DockWindowCancelEventArgs e)
Parameters
e
OnBackgroundImageChanged(EventArgs)
Called when the BackgroundImage property changes.
Declaration
protected override void OnBackgroundImageChanged(EventArgs e)
Parameters
e
An EventArgs that contains the event data.
Overrides
Remarks
This override updates the visibility settings of various elements based on whether a background image is present.
OnControlTreeChanged(ControlTreeChangedEventArgs)
Declaration
protected override void OnControlTreeChanged(ControlTreeChangedEventArgs args)
Parameters
args
Overrides
OnDockStateChanged(DockWindowEventArgs)
Raises the DockStateChanged event.
Declaration
protected virtual void OnDockStateChanged(DockWindowEventArgs e)
Parameters
e
OnDockStateChanging(DockStateChangingEventArgs)
Raises the DockStateChanging event.
Declaration
protected virtual void OnDockStateChanging(DockStateChangingEventArgs e)
Parameters
e
OnDockStateContextMenuClicked(DockWindow, DockState)
Recieves a notification for a change state request, made from the window's associated context menu.
Declaration
protected virtual void OnDockStateContextMenuClicked(DockWindow window, DockState newState)
Parameters
window
newState
OnDockWindowAdded(DockWindowEventArgs)
Raises the DockWindowAdded event.
Declaration
protected virtual void OnDockWindowAdded(DockWindowEventArgs e)
Parameters
e
OnDockWindowClosed(DockWindowEventArgs)
Raises the DockWindowClosed event.
Declaration
protected virtual void OnDockWindowClosed(DockWindowEventArgs e)
Parameters
e
OnDockWindowClosing(DockWindowCancelEventArgs)
Raises the DockWindowClosing event.
Declaration
protected virtual void OnDockWindowClosing(DockWindowCancelEventArgs e)
Parameters
e
OnDockWindowNameChanged(DockWindow, string)
The manager gets notified for a change in the specified DockWindow instance Name property.
Declaration
protected virtual void OnDockWindowNameChanged(DockWindow dockWindow, string oldName)
Parameters
dockWindow
The DockWindow which name has changed.
oldName
The window's previous name.
OnDockWindowRemoved(DockWindowEventArgs)
Raises the DockWindowRemoved event.
Declaration
protected virtual void OnDockWindowRemoved(DockWindowEventArgs e)
Parameters
e
OnDockWindowSerializing(DockWindow)
Raises the DockWindowSerializing event.
Declaration
protected virtual bool OnDockWindowSerializing(DockWindow dockWindow)
Parameters
dockWindow
Returns
[true] if canceled, [false] otherwise.
OnEnabledChanged(EventArgs)
Called when the control's Enabled property changes. Synchronizes the command manager's enabled state.
Declaration
protected override void OnEnabledChanged(EventArgs e)
Parameters
e
An EventArgs that contains the event data.
Overrides
Remarks
This override ensures that the command manager's enabled state is synchronized with the control's Enabled property, preventing command processing when the control is disabled.
OnFloatingWindowCreated(FloatingWindowEventArgs)
Raises the FloatingWindowCreated event.
Declaration
protected virtual void OnFloatingWindowCreated(FloatingWindowEventArgs e)
Parameters
e
OnHandleCreated(EventArgs)
Declaration
protected override void OnHandleCreated(EventArgs e)
Parameters
e
Overrides
OnHandleDestroyed(EventArgs)
Called when the control's handle is destroyed. Disables the command manager to prevent stray commands.
Declaration
protected override void OnHandleDestroyed(EventArgs e)
Parameters
e
An EventArgs that contains the event data.
Overrides
Remarks
This override ensures that the command manager is disabled when the control's handle is destroyed, preventing any command processing after the handle is gone but the control is still alive.
OnLoad(Size)
Called when control's creation is complete.
Declaration
protected override void OnLoad(Size desiredSize)
Parameters
desiredSize
Overrides
OnLoadedFromXml()
Raises the LoadedFromXml event.
Declaration
protected virtual void OnLoadedFromXml()
OnMouseDown(MouseEventArgs)
Called when a mouse button is pressed over the control.
Declaration
protected override void OnMouseDown(MouseEventArgs e)
Parameters
e
The mouse event arguments.
Overrides
OnMouseMove(MouseEventArgs)
Called when the mouse pointer moves over the control.
Declaration
protected override void OnMouseMove(MouseEventArgs e)
Parameters
e
The mouse event arguments.
Overrides
OnPaddingChanged(EventArgs)
Declaration
protected override void OnPaddingChanged(EventArgs e)
Parameters
e
Overrides
OnParentChanged(EventArgs)
Raises the ParentChanged event.
Declaration
protected override void OnParentChanged(EventArgs e)
Parameters
e
An EventArgs that contains the event data.
Overrides
Remarks
This method updates the internal parent form reference and reconnects event handlers when the parent of the RadDock control changes. It's essential for proper operation of floating windows and auto-hide functionality.
OnParentVisibleChanged(EventArgs)
Declaration
protected override void OnParentVisibleChanged(EventArgs e)
Parameters
e
Overrides
OnQuickNavigatorSnapshotNeeded(DockWindowSnapshotEventArgs)
Raises the QuickNavigatorSnapshotNeeded event.
Declaration
protected virtual void OnQuickNavigatorSnapshotNeeded(DockWindowSnapshotEventArgs e)
Parameters
e
OnSavedToXml()
Raises the SavedToXml event.
Declaration
protected virtual void OnSavedToXml()
OnSelectedTabChanged(SelectedTabChangedEventArgs)
Declaration
protected virtual void OnSelectedTabChanged(SelectedTabChangedEventArgs e)
Parameters
e
OnSelectedTabChanging(SelectedTabChangingEventArgs)
Declaration
protected virtual void OnSelectedTabChanging(SelectedTabChangingEventArgs e)
Parameters
e
OnTabStripItemDoubleClick(TabStripItem, DockTabStrip)
Declaration
protected virtual void OnTabStripItemDoubleClick(TabStripItem item, DockTabStrip strip)
Parameters
item
strip
OnThemeChanged()
Delegates the ThemeChanged event to all owned controls and elements.
Declaration
protected override void OnThemeChanged()
Overrides
OnToolTabStripDoubleClick(ToolTabStrip, Point)
Receives a notification from a tooltabstrip that the mouse was clicked inside its area. The default implementation will try to restore the state of the associated windows.
Declaration
protected virtual void OnToolTabStripDoubleClick(ToolTabStrip strip, Point click)
Parameters
strip
click
OnTransactionBlockEnded(EventArgs)
Raises the TransactionBlockEnded event.
Declaration
protected virtual void OnTransactionBlockEnded(EventArgs e)
Parameters
e
OnTransactionBlockStarted(EventArgs)
Raises the TransactionBlockStarted event.
Declaration
protected virtual void OnTransactionBlockStarted(EventArgs e)
Parameters
e
OnTransactionCommitted(RadDockTransactionEventArgs)
Raises the TransactionCommitted event.
Declaration
protected virtual void OnTransactionCommitted(RadDockTransactionEventArgs e)
Parameters
e
OnTransactionCommitting(RadDockTransactionCancelEventArgs)
Raises the TransactionCommitting event.
Declaration
protected virtual void OnTransactionCommitting(RadDockTransactionCancelEventArgs e)
Parameters
e
OnVisibleChanged(EventArgs)
Declaration
protected override void OnVisibleChanged(EventArgs e)
Parameters
e
Overrides
PerformUpdate()
Performs the core update logic after an EndUpdate call.
Declaration
protected virtual void PerformUpdate()
PostCommitTransaction(RadDockTransaction)
Allows inheritors to provide additional post-commit processing of a transaction.
Declaration
protected virtual void PostCommitTransaction(RadDockTransaction transaction)
Parameters
transaction
PreCommitTransaction(RadDockTransaction)
Allows inheritors to provide additional pre-commit processing of a transaction.
Declaration
protected virtual void PreCommitTransaction(RadDockTransaction transaction)
Parameters
transaction
ProcessFocusRequested(RadElement)
Processes a focus request from the specified element.
Declaration
protected override bool ProcessFocusRequested(RadElement element)
Parameters
element
The element that requested the focus.
Returns
True if focus is approved, false otherwise.
Overrides
RegisterService(int, RadDockService)
Registers the specified service with this RadDock instance.
Declaration
public void RegisterService(int key, RadDockService service)
Parameters
key
The key that identifies the service, typically a value from ServiceConstants.
service
The RadDockService instance to register.
Remarks
This method registers a service that provides additional functionality to the RadDock control. If a service with the same key already exists, it will be detached and replaced with the new service. Services are used to extend RadDock functionality without modifying its core code. Common services include RedockService for state persistence and CommandService for command routing.
RemoveAllDocumentWindows()
Removes all DocumentWindows, without disposing it.
Declaration
public void RemoveAllDocumentWindows()
RemoveAllDocumentWindows(DockWindowCloseAction)
Removes all DocumentWindows, using the specified close action.
Declaration
public void RemoveAllDocumentWindows(DockWindowCloseAction closeAction)
Parameters
closeAction
The action to be taken when closing a window.
RemoveAllToolWindows(DockWindowCloseAction, AllowedDockState)
Removes all ToolWindows with the specified DockState, using the specified close action.
Declaration
public void RemoveAllToolWindows(DockWindowCloseAction closeAction = DockWindowCloseAction.Close, AllowedDockState allowedDockState = AllowedDockState.Docked | AllowedDockState.AutoHide)
Parameters
closeAction
The action to be taken when closing a window.
allowedDockState
Specifies the DockState of the ToolWindows that will be removed. The enumeration flags can be combined.
RemoveAllWindows()
Removes all DockWindows from the docking manager, without disposing them.
Declaration
public void RemoveAllWindows()
Remarks
This method removes all windows from the docking manager using the DockWindowCloseAction.Close action. The windows are removed from the docking layout but are not disposed, so they can be reused later. To control the close action, use the overload that accepts a DockWindowCloseAction parameter.
RemoveAllWindows(DockWindowCloseAction)
Removes all DockWindows from the docking manager, using the specified close action.
Declaration
public void RemoveAllWindows(DockWindowCloseAction closeAction)
Parameters
closeAction
The action to be taken when closing each window. This can be Close (remove without disposing), CloseAndDispose (remove and dispose), or Hide (hide without removing).
Remarks
This method removes all windows from the docking manager using the specified close action. It begins a transaction block before removing windows and ends it after all windows are removed.
RemoveWindow(DockWindow)
Removes the specified window, without disposing it, from the dock manager.
Declaration
public void RemoveWindow(DockWindow window)
Parameters
window
RemoveWindow(DockWindow, DockWindowCloseAction)
Removes the specified window, using the specified DockWindowCloseAction.
Declaration
public void RemoveWindow(DockWindow window, DockWindowCloseAction closeAction)
Parameters
window
closeAction
The desired action to be taken.
SaveToXml(Stream)
Saves the current docking layout configuration in XML format to the specified stream.
Declaration
public void SaveToXml(Stream stream)
Parameters
stream
The stream where the layout should be written. The stream must be writable.
Remarks
This method serializes the current state of all dock windows to the provided stream. This overload is useful when you need to save the layout to memory, a database, or another destination other than a file.
The serialized data includes:
- Window positions and sizes
- Dock states (docked, floating, auto-hidden, etc.)
- Tab groups and arrangements
- Window relationships and hierarchy
To restore a layout from a stream, use the LoadFromXml(Stream, bool) method.
SaveToXml(TextWriter)
Saves the current docking layout configuration in XML format using the specified TextWriter.
Declaration
public void SaveToXml(TextWriter textWriter)
Parameters
textWriter
The TextWriter instance to which the XML should be written.
Remarks
This method serializes the current state of all dock windows using the provided TextWriter. This overload is useful when you need fine-grained control over the text output process, such as when writing to a custom text destination or applying additional text processing.
The serialized data includes the same information as the other SaveToXml methods:
- Window positions and sizes
- Dock states (docked, floating, auto-hidden, etc.)
- Tab groups and arrangements
- Window relationships and hierarchy
The XML is formatted with proper indentation for readability.
SaveToXml(string)
Saves the current docking layout configuration in XML format to the specified file.
Declaration
public void SaveToXml(string fileName)
Parameters
fileName
The path to the file where the layout should be saved. If the file exists, it will be overwritten.
Remarks
This method serializes the current state of all dock windows, including their positions, sizes, dock states, and relationships. The resulting XML file can later be used to restore the layout using the LoadFromXml(string, bool) method.
The serialized data includes:
- Window positions and sizes
- Dock states (docked, floating, auto-hidden, etc.)
- Tab groups and arrangements
- Window relationships and hierarchy
Note that only the structural information is saved, not the actual content of the windows. When restoring a layout, the windows must already be registered with the RadDock instance.
SaveToXmlCore(XmlWriter)
Performs the core XML serialization logic for saving the docking layout.
Declaration
protected virtual void SaveToXmlCore(XmlWriter writer)
Parameters
writer
The XmlWriter to which the XML should be written.
Remarks
This method contains the actual implementation of the XML serialization process. It sorts floating windows by Z-order, creates a serializer with the appropriate settings, and writes the RadDock object structure to XML.
This method can be overridden in derived classes to customize the serialization process while still using the basic SaveToXml methods.
SetBoundsCore(int, int, int, int, BoundsSpecified)
Declaration
protected override void SetBoundsCore(int x, int y, int width, int height, BoundsSpecified specified)
Parameters
x
y
width
height
specified
Overrides
SetWindowState(DockWindow, DockState)
Applies the desired DockState to the specified DockWindow, either by restoring a previously saved state or performing the default action.
Declaration
public void SetWindowState(DockWindow window, DockState state)
Parameters
window
The DockWindow instance to change state for.
state
The target dock state to apply (Docked, TabbedDocument, AutoHide, Floating, Hidden).
Remarks
This method changes the dock state of the window to the specified state. If the window is already in the requested state, this method has no effect.
If a previously saved layout state exists for this window in the requested dock state (through the RedockService), that state will be restored, preserving the window's previous position and size in that state. Otherwise, the default action will be performed:
- DockState.Docked: Window will be docked to the left side
- DockState.TabbedDocument: Window will be added as a document
- DockState.AutoHide: Window will be auto-hidden on the left side
- DockState.Floating: Window will be floated
- DockState.Hidden: Window will be hidden
ShowAutoHidePopup(HostWindow)
Displays the auto-hide popup for the specified host window.
Declaration
public void ShowAutoHidePopup(HostWindow window)
Parameters
window
The host window to display in the auto-hide popup.
Remarks
This method displays the auto-hide popup for a host window as if its tab was clicked, causing the window to slide out from its auto-hide position.
ShowAutoHidePopup(ToolWindow)
Displays the auto-hide popup for the specified tool window.
Declaration
public void ShowAutoHidePopup(ToolWindow window)
Parameters
window
The tool window to display in the auto-hide popup.
Remarks
This method displays the auto-hide popup for a tool window as if its tab was clicked, causing the window to slide out from its auto-hide position.
UpdateBackgroundSettings()
Updates the visibility settings of split panel elements based on whether a background image is set.
Declaration
protected void UpdateBackgroundSettings()
Remarks
When a background image is set, certain panel elements are hidden to allow the background image to show through. When no background image is set, the elements' visibility is reset to their default values.
Events
ActiveWindowChanged
Notifies for an actual change of the ActiveWindow property.
Declaration
public event DockWindowEventHandler ActiveWindowChanged
Event Value
ActiveWindowChanging
Notifies for an upcomming change of the ActiveWindow property. Cancelable.
Declaration
public event DockWindowCancelEventHandler ActiveWindowChanging
Event Value
AutoHideWindowDisplayed
Notifies that an auto-hidden window is about to be displayed. Cancelable.
Declaration
public event DockWindowEventHandler AutoHideWindowDisplayed
Event Value
AutoHideWindowDisplaying
Notifies that an auto-hidden window is about to be displayed. Cancelable.
Declaration
public event AutoHideWindowDisplayingEventHandler AutoHideWindowDisplaying
Event Value
AutoHideWindowHidden
Notifies that a window which DockState is AutoHide has been hidden.
Declaration
public event DockWindowEventHandler AutoHideWindowHidden
Event Value
AutoHideWindowHiding
Notifies that a window with AutoHide DockState is hiding.
Declaration
public event DockWindowCancelEventHandler AutoHideWindowHiding
Event Value
DockStateChanged
Notifies for a change in the DockState of the associated window.
Declaration
public event DockWindowEventHandler DockStateChanged
Event Value
DockStateChanging
Notifies for an upcomming change in the DockState of the associated window. Cancelable.
Declaration
public event DockStateChangingEventHandler DockStateChanging
Event Value
DockTabStripNeeded
Raised whenever a new DockTabStrip instance is needed internally by the framework. Allows for providing custom ToolTabStrip and DocumentTabStrip implementations.
Declaration
public event DockTabStripNeededEventHandler DockTabStripNeeded
Event Value
DockWindowAdded
Notifies for a new DockWindow registered with this RadDock instance.
Declaration
public event DockWindowEventHandler DockWindowAdded
Event Value
DockWindowClosed
Raised after a DockWindow has been closed.
Declaration
public event DockWindowEventHandler DockWindowClosed
Event Value
DockWindowClosing
Raised before a DockWindow.Close method is called.
Declaration
public event DockWindowCancelEventHandler DockWindowClosing
Event Value
DockWindowRemoved
Notifies for a DockWindow removed from this RadDock instance. This event will not be raised for hidden windows.
Declaration
public event DockWindowEventHandler DockWindowRemoved
Event Value
DockWindowSerializing
Fired when a dock window is being serialized. Allows excluding some windows from serialization.
Declaration
public event EventHandler<DockWindowCancelEventArgs> DockWindowSerializing
Event Value
FloatingWindowCreated
Notifies that a FloatingWindow instance is internally created by the framework. Allows listeners to examine and optionally change the window itself.
Declaration
public event FloatingWindowEventHandler FloatingWindowCreated
Event Value
LoadedFromXml
Notifies that manager's state has been loaded from an external XML source.
PageViewInstanceCreated
Fires after RadPageViewElement is created.
Declaration
public event PageViewInstanceCreatedEventHandler PageViewInstanceCreated
Event Value
QuickNavigatorSnapshotNeeded
Raised when the QuickNavigator is displayed and a preview snapshot for the currently selected window is needed.
Declaration
public event DockWindowSnapshotEventHandler QuickNavigatorSnapshotNeeded
Event Value
SavedToXml
Notifies that manager's state has been saved to an external XML source.
SelectedTabChanged
Occurs when selected tab changed in currently manipulated DockTabStrip.
Declaration
public event SelectedTabChangedEventHandler SelectedTabChanged
Event Value
SelectedTabChanging
Occurs when selected tab changing in currently manipulated DockTabStrip.
Declaration
public event SelectedTabChangingEventHandler SelectedTabChanging
Event Value
SplitContainerNeeded
Raised whenever a new RadSplitContainer instance is needed internally by the framework. Allows for providing custom RadSplitContainer implementation.
Declaration
public event SplitContainerNeededEventHandler SplitContainerNeeded
Event Value
TransactionBlockEnded
Notifies for a successful EndTransactionBlock operation, when all transactions are committed, the DockTree is cleaned, and updates are resumed.
Declaration
public event EventHandler TransactionBlockEnded
Event Value
TransactionBlockStarted
Notifies for a successful BeginTransactionBlock operation.
Declaration
public event EventHandler TransactionBlockStarted
Event Value
TransactionCommitted
Raised when a RadDockTransaction is successfully committed. Allows listeners to perform some additional operations.
Declaration
public event RadDockTransactionEventHandler TransactionCommitted
Event Value
TransactionCommitting
Raised when a RadDockTransaction is about to be committed. Allows listeners to investigate the transaction, perform some additional actions and/or cancel it.
Declaration
public event RadDockTransactionCancelEventHandler TransactionCommitting
Event Value