ウィンドウの位置やサイズを保存しておいて復元する方法を紹介します。ころの話が多くて、直球な答えがありません。毎回アプリをつくるたびに実装しているので自分のスニペットを兼ねて、ご紹介します。保存することとします。ちなみにユーザー設定ファイルは[ソリューションエクスプローラー]で[プロジェクト]を右クリックして[プロパティ]→[設定]から追加できます。つの設定を使用します。ウィンドウが最大化されていたかなにはともあれソースコード全体像です。コードビハインドに書くことを想定しています。ウィンドウの位置・サイズを保存します。ウィンドウの位置・サイズを復元します。呼び出すようにします。ウィンドウの位置とサイズを保存する保存側から見ていきます。settings.Save();}この部分ですね。最初に最大化されているかを保存しておき、標準状態のウィンドウサイズを取得するために最大化を解除します。このとき一瞬とはいえ、ウィンドウが標準状態に戻る描画が走るのが玉にキズです。標準状態に戻ったウィンドウの座標・幅・高さをそれぞれ設定に書き込み、保存すれば終了です。ウィンドウの位置とサイズを復元する復元側を見ていきます。基本的には逆向きの操作をするだけですね。それぞれの値を戻したあと、最大化されていた状態だったら最大化し直してやります。ウィンドウの位置・サイズを復元します。}}ただ、復元するときは少し注意が必要です。いうのも、たとえば、解像度の高いモニターで終了した後、解像度の低いモニターで起動すると画面サイズを超えるウィンドウサイズになってしまい、縮小することも閉じることもできないというナンセンスな自体になりかねないからです。そのため、それぞれの値を戻す前に範囲内かどうかをチェックしています。等で取得できる「全画面サイズ」を超えないように設定してやります。超えないようにしています。アプリの起動しているモニターを取得できないため、プライマリーモニターで我慢します。ついては下記の過去記事をご参照ください。WPFSNSでもご購読できます。