Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
  Prerequisites
 [Expand]What's Installed
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Expand]Controls and Libraries
 [Expand]Scaffolding Wizard
 [Expand]Localization
  Redistribution and Deployment
  Get More Help
 [Collapse]API Reference
  [Expand]DevExpress.Charts.Designer
  [Expand]DevExpress.Mvvm.UI
  [Expand]DevExpress.Mvvm.UI.Interactivity
  [Expand]DevExpress.Mvvm.UI.ModuleInjection
  [Expand]DevExpress.Xpf.Accordion
  [Expand]DevExpress.Xpf.Bars
  [Expand]DevExpress.Xpf.Carousel
  [Expand]DevExpress.Xpf.Charts
  [Expand]DevExpress.Xpf.Charts.Localization
  [Expand]DevExpress.Xpf.Charts.RangeControlClient
  [Expand]DevExpress.Xpf.ChunkList
  [Expand]DevExpress.Xpf.Controls
  [Expand]DevExpress.Xpf.Core
  [Expand]DevExpress.Xpf.Core.ConditionalFormatting
  [Expand]DevExpress.Xpf.Core.DataSources
  [Expand]DevExpress.Xpf.Core.ServerMode
  [Expand]DevExpress.Xpf.Data
  [Expand]DevExpress.Xpf.DataAccess
  [Expand]DevExpress.Xpf.DataAccess.DataSourceWizard
  [Expand]DevExpress.Xpf.Diagram
  [Collapse]DevExpress.Xpf.Docking
   [Expand]AutoHideGroup Class
   [Expand]AutoHideGroupCollection Class
    AutoHideType Enumeration
   [Expand]BaseLayoutItem Class
   [Expand]BaseLayoutItemCollection Class
    CaptionAlignMode Enumeration
    CaptionLocation Enumeration
   [Expand]ClosedPanelCollection Class
    ClosePageButtonShowMode Enumeration
    ClosingBehavior Enumeration
   [Expand]ContentItem Class
   [Expand]DefaultMenuItemNames Class
   [Expand]DockController Class
   [Collapse]DockControllerBase Class
     DockControllerBase Members
     DockControllerBase Constructor
    [Expand]DockControllerBase Properties
    [Collapse]DockControllerBase Methods
     [Expand]Activate Method
      AddDocumentGroup Method
     [Collapse]AddDocumentPanel Method
       AddDocumentPanel(DocumentGroup) Method
       AddDocumentPanel(Point, Size) Method
       AddDocumentPanel(DocumentGroup, Uri) Method
       AddDocumentPanel(Point, Size, Uri) Method
      AddItem Method
     [Expand]AddPanel Method
      Close Method
      CloseAllButThis Method
      CreateCommand<T> Method
     [Expand]CreateNewDocumentGroup Method
     [Expand]Dock Method
      Float Method
     [Expand]Hide Method
      Insert Method
     [Expand]MoveToDocumentGroup Method
      RemoveItem Method
      RemovePanel Method
      Rename Method
      Restore Method
   [Expand]DockingDocumentUIService Class
    DockingStyle Enumeration
   [Expand]DockLayoutManager Class
    DockOperation Enumeration
   [Expand]DocumentGroup Class
   [Expand]DocumentPanel Class
   [Expand]EmptySpaceItem Class
   [Expand]FixedItem Class
    FixedItemStyle Enumeration
   [Expand]FloatGroup Class
   [Expand]FloatGroupCollection Class
    FloatingMode Enumeration
    GroupBorderStyle Enumeration
    ImageLocation Enumeration
   [Expand]LabelItem Class
   [Expand]LayoutControlItem Class
   [Expand]LayoutController Class
   [Expand]LayoutGroup Class
   [Expand]LayoutPanel Class
   [Expand]LayoutSplitter Class
    MDIState Enumeration
    MDIStyle Enumeration
   [Expand]RestoreLayoutOptions Class
   [Expand]SeparatorItem Class
   [Expand]TabbedDocumentUIService Class
   [Expand]TabbedGroup Class
  [Expand]DevExpress.Xpf.Docking.Base
  [Expand]DevExpress.Xpf.DocumentViewer
  [Expand]DevExpress.Xpf.DXBinding
  [Expand]DevExpress.Xpf.Editors
  [Expand]DevExpress.Xpf.Editors.DateNavigator
  [Expand]DevExpress.Xpf.Editors.ExpressionEditor
  [Expand]DevExpress.Xpf.Editors.ExpressionEditor.Native
  [Expand]DevExpress.Xpf.Editors.Filtering
  [Expand]DevExpress.Xpf.Editors.Flyout
  [Expand]DevExpress.Xpf.Editors.Flyout.Native
  [Expand]DevExpress.Xpf.Editors.Helpers
  [Expand]DevExpress.Xpf.Editors.Popups
  [Expand]DevExpress.Xpf.Editors.RangeControl
  [Expand]DevExpress.Xpf.Editors.Settings
  [Expand]DevExpress.Xpf.Editors.Validation
  [Expand]DevExpress.Xpf.ExpressionEditor
  [Expand]DevExpress.Xpf.Gauges
  [Expand]DevExpress.Xpf.Gauges.Localization
  [Expand]DevExpress.Xpf.Grid
  [Expand]DevExpress.Xpf.Grid.ConditionalFormatting
  [Expand]DevExpress.Xpf.Grid.LookUp
  [Expand]DevExpress.Xpf.Grid.TreeList
  [Expand]DevExpress.Xpf.Layout.Core
  [Expand]DevExpress.Xpf.LayoutControl
  [Expand]DevExpress.Xpf.Map
  [Expand]DevExpress.Xpf.NavBar
  [Expand]DevExpress.Xpf.Navigation
  [Expand]DevExpress.Xpf.PdfViewer
  [Expand]DevExpress.Xpf.PivotGrid
  [Expand]DevExpress.Xpf.PivotGrid.Printing
  [Expand]DevExpress.Xpf.Printing
  [Expand]DevExpress.Xpf.Printing.Parameters
  [Expand]DevExpress.Xpf.Printing.Parameters.Models
  [Expand]DevExpress.Xpf.Printing.PreviewControl
  [Expand]DevExpress.Xpf.Printing.PreviewControl.Bars
  [Expand]DevExpress.Xpf.Prism
  [Expand]DevExpress.Xpf.PropertyGrid
  [Expand]DevExpress.Xpf.Reports.UserDesigner
  [Expand]DevExpress.Xpf.Reports.UserDesigner.Extensions
  [Expand]DevExpress.Xpf.Reports.UserDesigner.Localization
  [Expand]DevExpress.Xpf.Reports.UserDesigner.ReportWizard
  [Expand]DevExpress.Xpf.Reports.UserDesigner.ReportWizard.Pages
  [Expand]DevExpress.Xpf.Ribbon
  [Expand]DevExpress.Xpf.RichEdit
  [Expand]DevExpress.Xpf.RichEdit.Menu
  [Expand]DevExpress.Xpf.Scheduler
  [Expand]DevExpress.Xpf.Scheduler.Drawing
  [Expand]DevExpress.Xpf.Scheduler.Menu
  [Expand]DevExpress.Xpf.Scheduler.Reporting
  [Expand]DevExpress.Xpf.Scheduler.UI
  [Expand]DevExpress.Xpf.Scheduling
  [Expand]DevExpress.Xpf.Scheduling.Editors
  [Expand]DevExpress.Xpf.Scheduling.Reporting
  [Expand]DevExpress.Xpf.Scheduling.Visual
  [Expand]DevExpress.Xpf.SpellChecker
  [Expand]DevExpress.Xpf.Spreadsheet
  [Expand]DevExpress.Xpf.Spreadsheet.Menu
  [Expand]DevExpress.Xpf.TreeMap
  [Expand]DevExpress.Xpf.Utils.Themes
  [Expand]DevExpress.Xpf.WindowsUI
  [Expand]DevExpress.Xpf.WindowsUI.Internal
  [Expand]DevExpress.Xpf.WindowsUI.Navigation
  [Expand]DevExpress.XtraRichEdit
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

DockControllerBase.AddDocumentPanel(DocumentGroup, Uri) Method

Adds a new DocumentPanel to the specified DocumentGroup and loads the contents of a Window, Page or UserControl defined in the specified XAML into the DocumentPanel.

Namespace:DevExpress.Xpf.Docking
Assembly:DevExpress.Xpf.Docking.v17.2.dll

Expanded Syntax

Parameters

group
Type: DocumentGroup
A DocumentGroup object to which a new DocumentPanel is added.
uri
Type: Uri
The uniform resource identifier (URI) of the XAML that defines a Window, Page or UserControl to be loaded into the created DocumentPanel.

Return value

Type: DocumentPanel
The created DocumentPanel object.

Expanded Remarks

When the URI refers to a Window or Page, the AddDocumentPanel method loads the contents of the specified Window/Page. The Window/Page objects themselves, and their resources and event handlers are not loaded, and they will not be available via the inherited LayoutPanel.Control property.

When the URI refers to a UserControl, the UserControl itself is loaded. You can access the loaded UserControl via the inherited LayoutPanel.Control property.

Note

Loading the XAML file is delegated to the Application.LoadComponent method.

Expanded Example

The following code adds a new DocumentPanel object to a DocumentGroup, and loads the content of the "ChildPage.xaml" into this panel:

Expanded Example

Show Me

A complete sample project is available in the DevExpress Code Examples database at http://www.devexpress.com/example=E2410.

You can define a Window, Page or UserControl in external XAML files and then, with DXDocking, load their contents into DocumentPanel objects.


This example demonstrates how to load an external Window and UserControl into DocumentPanels.


In the example three approaches are demonstrated:


1) The contents of MyWindow.xaml is loaded into a DocumentPanel at design time (in XAML) via the DocumentPanel.Content property. The Content property accepts a Uri object, which must refer to a XAML file defining a Window, Page or UserControl.


<dxdo:DocumentPanel x:Name="docPanel2" Caption="Panel 2" Content="{dxdo:RelativeUri UriString=CustomWindows\\MyWindow.xaml}"/>


2) The DocumentPanel.Content property is set with a Uri object at runtime:


docPanel1.Content = new Uri(@"CustomWindows\MyWindow1.xaml", UriKind.Relative);

 


3) The DockLayoutManager.DockController.AddDocumentPanel method creates a new DocumentPanel object and loads the contents of an external XAML file into the created panel.


panel1 = dockLayoutManager1.DockController.AddDocumentPanel(documentGroup1,

new Uri(@"CustomWindows\UserControl1.xaml", UriKind.Relative));

panel1.Caption = "Document " + (ctr++).ToString();



In the example, the XAML file defines a UserControl object. The loaded UserControl is accessed via the DocumentPanel's Control property and then a method on the UserControl is invoked.


//...

(panel1.Control as UserControl1).SetDataContext(imageInfo);



You can see this in action by clicking the "Set DataContext for UserControl" button in the example.

Expanded See Also

How would you rate this topic?​​​​​​​