コードを使ってXamDockManager のコンテンツペイン(ContentPane)を現在の親ペインから別のペインに移す場合は、

1. 移動させたい ContentPane を現在の親ペインから削除する。
2. 移動先のペインの子として ContentPane を追加する。

で可能です。

 

1. 移動させたい ContentPane を現在の親ペインから削除する。

ContentPane の CloseAction プロパティと ExecuteCommand メソッドを使うと簡単に削除できます。

// ContentPaneのもともとのCloseAction(ペインをクローズしたときにただクローズするか親Paneから削除もするかを指定するプロパティ)値を保存しておく。
var originalCloseAction = contentPane.CloseAction;

// 一時的にCloseActionをRemovePane(クローズと同時に親Paneからも削除する)値に変更する。
contentPane.CloseAction = PaneCloseAction.RemovePane;

// ContentPaneをクローズする(CloseActionの値に基づき、親Paneからも削除される)。
contentPane.ExecuteCommand(ContentPaneCommands.Close);

// もとのCloseActionに戻す。
contentPane.CloseAction = originalCloseAction;

 

2. 移動先のペインの子として ContentPane を追加する。

// 移動先のペインがSplitPaneの場合
splitPane.Panes.Add(contentPane);

// 移動先のペインがTabGroupPaneの場合
tabGroupPane.Items.Add(contentPane);

 

API リファレンス

 

Tagged:

製品について

Ultimate UI for WPF