バージョン

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

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 オブジェクトを使用して欠落しているコンテンツ ペインにコンテンツを追加します。
}
...