ウィンドウを常に最大化しておきたいのですが、単一の画面で完全に機能します。ただし、2つの画面を使用する場合(特にメイン画面が変更される場合)、解像度が変更されたイベントをキャッチして最大化しますが、機能しません。また、ウィンドウの幅と高さを処理しようとしましたが、どちらも機能しません。
ここに私がどのように操作するかがあります:
- 単一の小さな画面 (1366 * 768) を使用すると、ウィンドウが最大化されます。
- 別の大きな画面 (1920 * 1080) を接続します。これをメイン画面に設定します (現在は 2 つの画面があります)。すると、ウィンドウは大きな画面に表示され、最大化されず、1366*768 のサイズのままになります。 (奇妙なことに、常に最大化されるわけではありませんが、時々最大化されます)。
ここに私のコードがあります:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.WindowState = WindowState.Maximized;
SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged;
}
//this method catch the resolution changed event
private void SystemEvent_DisplaySettingsChanged(object sender, EventsArgs e)
{
WindowState = WindowState.Maximized;
}
}
ウィンドウの xaml コード:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
ResizeMode="CanMinimize"
SizeToContent="Manual"
WindowStartupLocation="CenterScreen" />