xamDockManager コントロールは、ドックされたペインとフローティング ペインのコンテンツに加えてコンテンツを表示できます。Microsoft® Windows® Presentation Foundation の他のコンテンツ コントロールと同じパターンを使用して、xamDockManager の Content プロパティを設定できます。このパターンは通常、レイアウトコンテナのインスタンスに Content プロパティを設定し、レイアウト コンテナの Children コレクションにコントロールを追加することを必要とします。ただし、xamDockManager は DocumentContentHost オブジェクトによってコンテンツを追加するための第 2 のソリューションも提供します。
DocumentContentHost オブジェクトは、タブ内にコンテンツ ペインを表示するための特別なコンテナです。DocumentContentHost オブジェクトによって、エンド ユーザーはペインを xamDockManager のタブ付けされた領域に移動できます。DocumentContentHost オブジェクトを xamDockManager のコンテンツとして使用しない場合、エンド ユーザーはタブ付けされた領域にペインを移動できなくなります。
以下のコード例は、ペインを DocumentContentHost オブジェクトに追加する方法を示します。
XAML の場合:
...
<igDock:XamDockManager Name="xamDockManager1">
<igDock:XamDockManager.Panes>
<igDock:SplitPane>
<igDock:ContentPane Header="Pane 1">
</igDock:ContentPane>
</igDock:SplitPane>
</igDock:XamDockManager.Panes>
<igDock:DocumentContentHost>
<igDock:SplitPane>
<igDock:TabGroupPane>
<igDock:ContentPane Header="Document1.xaml">
<RichTextBox />
</igDock:ContentPane>
<igDock:ContentPane Header="Document2.xaml">
<RichTextBox />
</igDock:ContentPane>
</igDock:TabGroupPane>
</igDock:SplitPane>
</igDock:DocumentContentHost>
</igDock:XamDockManager>
...
Visual Basic の場合:
Imports Infragistics.Windows.DockManager
...
Dim documentContentHost1 As New DocumentContentHost()
Me.xamDockManager1.Content = documentContentHost1
Dim splitPane1 As New SplitPane()
documentContentHost1.Panes.Add(splitPane1)
Dim tabGroupPane1 As New TabGroupPane()
splitPane1.Panes.Add(tabGroupPane1)
Dim contentPane1 As New ContentPane()
contentPane1.Header = "Document1.xaml"
contentPane1.Content = New RichTextBox()
Dim contentPane2 As New ContentPane()
contentPane2.Header = "Document2.xaml"
contentPane2.Content = New RichTextBox()
tabGroupPane1.Items.Add(contentPane1)
tabGroupPane1.Items.Add(contentPane2)
'以下の 3 行のコードを使用して同じ結果を得ることもできます。
'Me.xamDockManager1.Content = New DocumentContentHost()
'Me.xamDockManager1.AddDocument("Document1.xaml", New RichTextBox())
'Me.xamDockManager1.AddDocument("Document2.xaml", New RichTextBox())
...
C# の場合:
using Infragistics.Windows.DockManager;
...
DocumentContentHost documentContentHost1 = new DocumentContentHost();
this.xamDockManager1.Content = documentContentHost1;
SplitPane splitPane1 = new SplitPane();
documentContentHost1.Panes.Add(splitPane1);
TabGroupPane tabGroupPane1 = new TabGroupPane();
splitPane1.Panes.Add(tabGroupPane1);
ContentPane contentPane1 = new ContentPane();
contentPane1.Header = "Document1.xaml";
ContentPane contentPane2 = new ContentPane();
contentPane2.Header = "Document2.xaml";
tabGroupPane1.Items.Add(contentPane1);
tabGroupPane1.Items.Add(contentPane2);
//以下の 3 行のコードを使用して同じ結果を得ることもできます。
//this.xamDockManager1.Content = new DocumentContentHost();
//this.xamDockManager1.AddDocument("Document1.xaml", new RichTextBox())
//this.xamDockManager1.AddDocument("Document2.xaml", new RichTextBox())
...