しばらくの間、WPF アプリケーションを複数のモニターにまたがらせようとしてきましたが、ほぼ機能しています。
次の行を設定すると、問題が発生するようです。
win1.WindowState = WindowState.Maximized
これにより、アプリケーションはプライマリ画面のみにまたがります。
私のコードは次のとおりです。
public partial class App : Application
{
private void Application_Startup(object sender, StartupEventArgs e)
{
Window1 win1 = new Window1();
win1.WindowStartupLocation = WindowStartupLocation.Manual;
win1.Width = 2560;
win1.Height = 1024;
win1.Left = 0;
win1.Top = 0;
win1.Topmost = true;
win1.Background = new SolidColorBrush(Colors.Black);
win1.WindowStyle = WindowStyle.None;
win1.Show();
win1.Focus();
}
}
そして、ウィンドウ 1 の内部:
public partial class Window1 : Window
{
public Window1()
{
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
WindowState = WindowState.Maximized;
}
}
この例は機能しますが、ウィンドウは最大化されておらず、アプリケーションの境界線がまだ表示されています。
Application_Startup に最大化された減速を含めると、モニターがプライマリ モニターに最大化されます。
どうしてこれなの?