Infragistics3.Wpf.DockManager.v9.1
DocumentContentHost Class
Members  Example  See Also 
Infragistics.Windows.DockManager Namespace : DocumentContentHost Class

Control used to display one or more Infragistics.Windows.DockManager.ContentPane instances as tabbed documents within a Infragistics.Windows.DockManager.XamDockManager

Object Model



Syntax

Visual Basic (Declaration) 
Public Class DocumentContentHost 
   Inherits Control
   Implements IPaneContainer 
C# 
public class DocumentContentHost : Control, IPaneContainer  

Example

This sample demonstrates how to associate a XamDockManager with a DocumentContentHost to provide a tabbed document interface in your application.

Visual BasicCopy Code
Imports Infragistics.Windows.DockManager

Private Sub InitializeDmWithDCH(ByVal dockManager As XamDockManager)
    ' The XamDockManager is a content control and as such
    ' can contain any content but you can use a
    ' DocumentContentHost to provide VS style tabbed
    ' documents which can participate in the dragging
    ' and pane navigator of the xamdockmanager
    Dim dch As New DocumentContentHost()

    Dim rootSplit As New SplitPane()
    rootSplit.SplitterOrientation = Orientation.Vertical

    Dim tgpRoot As New TabGroupPane()

    Dim cpFile1 As New ContentPane()
    cpFile1.Header = "File 1"
    cpFile1.Content = New RichTextBox()
    tgpRoot.Items.Add(cpFile1)

    Dim cpFile2 As New ContentPane()
    cpFile2.Header = "File 2"
    cpFile2.Content = New RichTextBox()
    tgpRoot.Items.Add(cpFile2)

    rootSplit.Panes.Add(tgpRoot)

    ' You can nest SplitPanes within the DCH
    ' to create nested tab groups. This split
    ' will be to the right of the tab group
    ' defined above.
    Dim nestedSplit As New SplitPane()
    nestedSplit.SplitterOrientation = Orientation.Horizontal

    Dim tgpNested1 As New TabGroupPane()
    Dim cpFile3 As New ContentPane()
    cpFile3.Header = "File 3"
    cpFile3.Content = New RichTextBox()
    tgpNested1.Items.Add(cpFile3)
    nestedSplit.Panes.Add(tgpNested1)

    Dim tgpNested2 As New TabGroupPane()
    Dim cpFile4 As New ContentPane()
    cpFile4.Header = "File 4"
    cpFile4.Content = New RichTextBox()
    tgpNested2.Items.Add(cpFile4)
    nestedSplit.Panes.Add(tgpNested2)

    rootSplit.Panes.Add(nestedSplit)
    dch.Panes.Add(rootSplit)

    dockManager.Content = dch
End Sub
C#Copy Code
using Infragistics.Windows.DockManager;

private void InitializeDmWithDCH(XamDockManager dockManager)
{
   
// The XamDockManager is a content control and as such
   
// can contain any content but you can use a
   
// DocumentContentHost to provide VS style tabbed
   
// documents which can participate in the dragging
   
// and pane navigator of the xamdockmanager
   
DocumentContentHost dch = new DocumentContentHost();

   SplitPane rootSplit =
new SplitPane();
   rootSplit.SplitterOrientation = Orientation.Vertical;

   TabGroupPane tgpRoot =
new TabGroupPane();

   ContentPane cpFile1 =
new ContentPane();
   cpFile1.Header =
"File 1";
   cpFile1.Content =
new RichTextBox();
   tgpRoot.Items.Add(cpFile1);

   ContentPane cpFile2 =
new ContentPane();
   cpFile2.Header =
"File 2";
   cpFile2.Content =
new RichTextBox();
   tgpRoot.Items.Add(cpFile2);

   rootSplit.Panes.Add(tgpRoot);

   
// You can nest SplitPanes within the DCH
   
// to create nested tab groups. This split
   
// will be to the right of the tab group
   
// defined above.
   
SplitPane nestedSplit = new SplitPane();
   nestedSplit.SplitterOrientation = Orientation.Horizontal;

   TabGroupPane tgpNested1 =
new TabGroupPane();
   ContentPane cpFile3 =
new ContentPane();
   cpFile3.Header =
"File 3";
   cpFile3.Content =
new RichTextBox();
   tgpNested1.Items.Add(cpFile3);
   nestedSplit.Panes.Add(tgpNested1);

   TabGroupPane tgpNested2 =
new TabGroupPane();
   ContentPane cpFile4 =
new ContentPane();
   cpFile4.Header =
"File 4";
   cpFile4.Content =
new RichTextBox();
   tgpNested2.Items.Add(cpFile4);
   nestedSplit.Panes.Add(tgpNested2);

   rootSplit.Panes.Add(nestedSplit);
   dch.Panes.Add(rootSplit);

   dockManager.Content = dch;
}
XAMLCopy Code
<igDock:XamDockManager>
    
<!-- The XamDockManager is a content control and as such 
         can contain any content but you can use a 
         DocumentContentHost to provide VS style tabbed 
         documents which can participate in the dragging 
         and pane navigator of the xamdockmanager
         
-->
    
<igDock:DocumentContentHost>
        
<!-- The content property of the DCH is its Panes
             property which is the collection of root 
             SplitPanes 
-->
        
<igDock:SplitPane SplitterOrientation="Vertical">
            
<igDock:TabGroupPane>
                
<igDock:ContentPane Header="File 1">
                    
<RichTextBox />
                
</igDock:ContentPane>
                
<igDock:ContentPane Header="File 2">
                    
<RichTextBox />
                
</igDock:ContentPane>
            
</igDock:TabGroupPane>
            
            
<!-- You can nest SplitPanes within the DCH
                 to create nested tab groups. This split
                 will be to the right of the tab group 
                 defined above. 
-->
            
<igDock:SplitPane SplitterOrientation="Horizontal">
                
<igDock:TabGroupPane>
                    
<igDock:ContentPane Header="File 3">
                        
<RichTextBox />
                    
</igDock:ContentPane>
                
</igDock:TabGroupPane>
                
                
<igDock:TabGroupPane>
                    
<igDock:ContentPane Header="File 4">
                        
<RichTextBox />
                    
</igDock:ContentPane>
                
</igDock:TabGroupPane>
            
</igDock:SplitPane>
        
</igDock:SplitPane>
    
</igDock:DocumentContentHost>
</igDock:XamDockManager>

See Also

E-mail your feedback on this topic.

Opinion about our help? Take our survey.

Copyright © 2003-2009 Infragistics, Inc. All rights reserved.