閉じるウィンドウのプロパティを見てWindowState
、表示しようとしているウィンドウに設定します。
可能な値はここで見つけることができますが、単に次の場合である必要があります:
window2.WindowState = window1.WindowState;
OP編集:
これはうまくいきました。これは、この提案に基づいて構築した簡単なソリューションです。
public static class WindowStateManager
{
public static WindowState _state;
private static double _height;
private static double _width;
private static double _left;
private static double _top;
public static void SetState(this Window window)
{
_state = window.WindowState;
_height = window.Height;
_width = window.Width;
_left = window.Left;
_top = window.Top;
}
public static void ApplyState(this Window window)
{
window.WindowState = _state;
window.Height = _height;
window.Width = _width;
window.Left = _left;
window.Top = _top;
}
}
そして、これを適用したいすべてのウィンドウに対して、コンストラクターに以下を追加するだけです:
this.Activated += (s, a) => this.ApplyState();
this.LocationChanged += (s, a) => this.SetState();