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()) ...