モニターごとに異なる画面サイズを設定したい。
解像度
プライマリ - 1600*900、
セカンダリ - 1920*1080
私のアプリケーションはプライマリ画面で正常に動作していますが、アプリケーションをセカンダリ画面にドラッグして最大化すると、プライマリ画面の高さに従ってのみ最大化されます。
現在の画面ごとにアプリケーションの画面サイズが必要です。
モニターごとに異なる画面サイズを設定したい。
解像度
プライマリ - 1600*900、
セカンダリ - 1920*1080
私のアプリケーションはプライマリ画面で正常に動作していますが、アプリケーションをセカンダリ画面にドラッグして最大化すると、プライマリ画面の高さに従ってのみ最大化されます。
現在の画面ごとにアプリケーションの画面サイズが必要です。
Screen
class fromSystem.Windows.Forms
を使用して、アプリケーションが 2 番目の画面にあるかどうかを定義することをお勧めします。ユーザーがいつアプリケーションを 2 番目のディスプレイに移動したかを知る必要があり、それを知るためにLocationChanged
イベントを使用します。
分離コード:
private Screen GetSecondaryScreen()
{
foreach (Screen screen in Screen.AllScreens)
{
if (screen != Screen.PrimaryScreen)
return screen;
}
return Screen.PrimaryScreen;
}
private void Window_LocationChanged(object sender, EventArgs e)
{
if (Screen.PrimaryScreen != GetSecondaryScreen())
{
this.WindowState = WindowState.Maximized;
}
}
XAML:
<Window x:Class="DateTimePickerDataGridWPF.MainWindow"
...the code omitted for the brevity...
Title="MainWindow" Height="350" Width="525" LocationChanged="Window_LocationChanged">
</Window>