バージョン

エンド ユーザーのドッキング レイアウトをロード

xamDockManager コントロールによって、エンド ユーザーはアプリケーションのレイアウトを修正できます。エンドユーザーは、アプリケーションの再起動時にレイアウトを修正する必要がないように、これらの設定の保存およびロードを開発者に期待します。xamDockManager コントロールは、以前に保存したドッキング レイアウトをロードするために使用できるオーバーロードされた LoadLayout メソッドを公開します。

Note

xamDockManager は、レイアウト ファイルの情報に基づいてコンテンツ ペインを自動的に作成および追加はしません。コンテンツ ペインは、LoadLayout メソッドの呼び出しの前に存在する必要があります。xamDockManager は、現在レイアウトのコンテンツ ペインに含まれていないコンテンツ ペインをレイアウト ファイルで検出する場合、 InitializePaneContent イベントが発生され、そのコンテンツ ペインのコンテンツを提供できます。コンテンツ ペインを識別し、提供するコンテンツを決定するには、 SerializationId プロパティを使用できます。このイベント中にコンテンツを提供しない場合、 xamDockManager は不足しているコンテンツ ペインをレイアウトに追加しません。

以下のコード例は、以前に保存したドッキング レイアウトのロード方法を示します。

Visual Basic の場合:

Imports System.IO
...
Using fs As New FileStream("layout.xml", FileMode.Open, FileAccess.Read)
    Me.xamDockManager1.LoadLayout(fs)
End Using
...
'欠落するペインにコンテンツを追加するために InitializePaneContent イベントを処理します。
Private Sub xamDockManager1_InitializePaneContent(ByVal sender As Object, ByVal e As InitializePaneContentEventArgs)
    'TODO: e.NewPane オブジェクトを使用して欠落しているコンテンツ ペインにコンテンツを追加します。
End Sub
...

C# の場合:

using System.IO;
...
//ストリームからレイアウトをロードします。
using(FileStream fs = new FileStream("layout.xml", FileMode.Open, FileAccess.Read))
{
    this.xamDockManager1.LoadLayout(fs);
}
....
//欠落するペインにコンテンツを追加するために InitializePaneContent イベントを処理します。
private void xamDockManager1_InitializePaneContent(object sender, InitializePaneContentEventArgs e)
{
    //TODO: e.NewPane オブジェクトを使用して欠落しているコンテンツ ペインにコンテンツを追加します。
}
...