Control used to display one or more
ContentPane instances as tabbed documents within a
XamDockManager
This sample demonstrates how to associate a XamDockManager with a DocumentContentHost to provide a tabbed document interface in your application.
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
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;
}
<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>
Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2