ビューを最初に開いたときにデフォルトのサイズを設定する必要がありますが、ビューはユーザーが展開できるようにする必要があります。(他の理由により、WindowManager で SizeToContent プロパティを使用できません。)
これはよくあることですが、デフォルトのウィンドウ サイズを設定するための推奨される方法は何ですか?
ビューを最初に開いたときにデフォルトのサイズを設定する必要がありますが、ビューはユーザーが展開できるようにする必要があります。(他の理由により、WindowManager で SizeToContent プロパティを使用できません。)
これはよくあることですが、デフォルトのウィンドウ サイズを設定するための推奨される方法は何ですか?
この投稿が作成された時点でこれが当てはまるかどうかはわかりませんが、今フォローしている人にとっては、アプリのブートストラッパーで CaliburnMicro のウィンドウ サイズを簡単に設定する方法です。私のコードは、起動時に前回の終了時と同じウィンドウのサイズを保持するように設計されています。終了時に画面の高さ/幅を設定プロパティとして保存し、起動時にここで取得します (現在の画面サイズを超えないようにチェックします)。
AppBootstrapper.cs
protected override void OnStartup(object sender, System.Windows.StartupEventArgs e) {
double width = Settings.Default.screen_width; //Previous window width
double height = Settings.Default.screen_height; //Previous window height
double screen_width = System.Windows.SystemParameters.PrimaryScreenWidth;
double screen_height = System.Windows.SystemParameters.PrimaryScreenHeight;
if (width > screen_width) width = (screen_width - 10);
if (height > screen_height) height = (screen_height-10);
Dictionary<string, object> window_settings = new Dictionary<string, object>();
window_settings.Add("Width", width);
window_settings.Add("Height", height);
DisplayRootViewFor<IShell>(window_settings);
}
推奨されるアプローチかどうかはわかりませんが、UserControl
ブートストラップ/表示するWindow
代わりに、代わりにブートストラップ/表示してから、高さ、幅などを設定できます。