フローティングペインを最小化すると、タスクバー左上にウインドウ操作 UI が表示され、こちらを操作することで画面上に復帰させることができます。
今回は画面復帰をコードで行う方法をご紹介したいと思います。
ContentPane を操作するかと思いきや、今回は ContentPane をフローティングさせる際に、ContentPane をホストする “ToolWindow” を操作します。いかにも操作したくなる名前ですね。
該当の ContentPane(今回はフローティングしている ContentPane のため、PaneLocation: Floating のものが対象です。)をホストしている ToolWindow に対して、Window の状態を司る “WindowState” を変更してあげるだけなのです。とっても簡単ですね。
最小化していると WindowState が Minimized になっていますので、これを Nomal に設定変更することで、画面復帰させることができます。
以下はボタンのクリックイベントで実装したものです。
private void button5_Click(object sender, RoutedEventArgs e) { // GetPanes で xamDockManager 内の全ての Pane を取得します。 var allContentPanes = xamDockManager1.GetPanes(PaneNavigationOrder.VisibleOrder); foreach (ContentPane contentPane in allContentPanes) { // foreach で回して、Floating ペインのみに以下の操作をしていきます。 if (XamDockManager.GetPaneLocation(contentPane) == PaneLocation.Floating) { // 該当の ContenPane をホストしている ToolWindow を取得します。今回はこちらを操作していきます。 ToolWindow toolWindow = ToolWindow.GetToolWindow(contentPane); // さらに、最小化されている ContentPane をチェックします。 if (toolWindow.WindowState == WindowState.Minimized) { toolWindow.WindowState = WindowState.Normal; 👈 ココで WindowState に Nomal を設定してあげます。 } } } }
ぜひお試しください。
以下は画面復帰の瞬間です。