[Expand]General Information
[Expand]WinForms Controls
[Collapse]ASP.NET Controls and MVC Extensions
 [Expand]What's Installed
 [Expand]Common Concepts
 [Collapse]ASP.NET WebForms Controls
   Getting Started
  [Expand]Grid View
  [Expand]Tree List
  [Expand]Card View
  [Expand]Chart Control
  [Expand]Pivot Grid
  [Expand]Rich Text Editor
  [Expand]Site Navigation and Layout
  [Expand]HTML Editor
  [Expand]Vertical Grid
  [Expand]Data Editors
  [Collapse]Docking and Popups
   [Expand]Product Information
     ASPxDocking Overview
      Panel Overview
      Forbidden Zones
      Common Docking Events
      Layout Management
      Cookie Support
    [Expand]Visual Elements
   [Expand]Hint Control
   [Expand]Loading Panel
   [Expand]Popup Control
  [Expand]File Management
  [Expand]Data and Image Navigation
  [Expand]Multi-Use Site Controls
  [Expand]Spell Checker
  [Expand]Query Builder
 [Expand]ASP.NET MVC Extensions
 [Expand]Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

Panel Overview

The dock panel is a content placeholder, which can be moved by end-users between particular dock zones within a web page.

To specify which part of a panel can be dragged to move a panel, use the ASPxPopupControlBase.DragElement property. You can prohibit end-users from dragging a panel by setting the ASPxDockPanel.AllowDragging property to false.

ASPxDockPanel allows end-users to resize a panel if the ASPxPopupControlBase.AllowResize property is set to true. You can specify the size constraints for a panel using the ASPxPopupControlBase.MinHeight, ASPxPopupControlBase.MaxHeight, ASPxPopupControlBase.MinWidth, and ASPxPopupControlBase.MaxWidth properties. If the panel content does not fit the panel size, you can enable scroll bars via the ASPxPopupControlBase.ScrollBars property.

To recognize panels, the ASPxDockPanel.PanelUID property can be used. You can obtain a panel on the server (ASPxDockManager.FindPanelByUID) or client (ASPxClientDockManager.GetPanelByUID and ASPxClientDockZone.GetPanelByUID) side using the panel unique identifier.

ASPxDockPanel has the capability to load panel content on demand via callbacks. Several content loading modes are available via the ASPxDockPanel.LoadContentViaCallback property.

A dock panel can either be docked to a dock zone or made to float. End-users can dock/undock panels by dragging them. To change the panel dock state programmatically use the ASPxDockPanel.OwnerZone or ASPxDockPanel.OwnerZoneUID property on the server side, or the ASPxClientDockPanel.Dock and ASPxClientDockPanel.MakeFloat methods on the client side. To get the panel dock state on the client side use the ASPxClientDockPanel.IsDocked method. You can specify dock states allowed for a panel (dock only, float only or both) via the ASPxDockPanel.AllowedDockState property.

You can obtain a zone that owns the panel via the ASPxDockPanel.OwnerZone property. The panel owner can be accessed by its unique identifier (UID) using the ASPxDockPanel.OwnerZoneUID property as well. To get the owner zone on the client side, use the ASPxClientDockPanel.GetOwnerZone method. To control where the panel is displayed amongst other panels within the zone, use the ASPxDockPanel.VisibleIndex property. To manage a panel's visible index on the client side, use the ASPxClientDockPanel.GetVisibleIndex and ASPxClientDockPanel.SetVisibleIndex methods.

Using a dock panel's ASPxDockPanel.ForbiddenZones property, you can specify disallowed zones for the panel - the zones to which the panel cannot be docked. To learn more about forbidden zones, follow the Forbidden Zones topic.

You can respond to panel dragging and docking using the corresponding panel events. Additionally you can respond to closing, showing and resizing of a panel using dock manager events. To learn more, see the Common Docking Events topic.

Expanded Reasons for a panel not docking

In the following cases, a panel does not dock to a zone. You can set the panel's owner zone programmatically, but it actually stays in a floating state:

Is this topic helpful?​​​​​​​