一段时间以来,我一直试图让我的 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 中包含最大化的减速使监视器最大化到主监视器。
为什么是这样?