バージョン

ペインを DocumentContentHost オブジェクトに追加

xamDockManager コントロールは、ドックされたペインとフローティング ペインのコンテンツに加えてコンテンツを表示できます。Microsoft® Windows® Presentation Foundation の他のコンテンツ コントロールと同じパターンを使用して、xamDockManager の Content プロパティを設定できます。このパターンは通常、レイアウトコンテナのインスタンスに Content プロパティを設定し、レイアウト コンテナの Children コレクションにコントロールを追加することを必要とします。ただし、xamDockManager は DocumentContentHost オブジェクトによってコンテンツを追加するための第 2 のソリューションも提供します。

DocumentContentHost オブジェクトは、タブ内にコンテンツ ペインを表示するための特別なコンテナです。DocumentContentHost オブジェクトによって、エンド ユーザーはペインを xamDockManager のタブ付けされた領域に移動できます。DocumentContentHost オブジェクトを xamDockManager のコンテンツとして使用しない場合、エンド ユーザーはタブ付けされた領域にペインを移動できなくなります。

ペインを xamdockmanager の documentcontenthost オブジェクトに追加

以下のコード例は、ペインを 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())
...