我一直在試圖讓我的WPF應用程序跨越多個顯示器一段時間,現在幾乎有它的工作。WPF多功能顯示器問題 - WindowState
這個問題似乎出現時,我設置以下行:
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中包含最大化的減速度使監視器最大化爲主監視器。
這是爲什麼?
好的,我將使用多個窗口跨越多個顯示器,因爲我無法保證用戶將擁有的顯示器。 此外,我認爲你可以使用System.Windows.Forms.Screens命名空間來訪問屏幕信息。 乾杯, 米格 – Mig 2009-12-24 11:26:47
是的,最好使用System.Windows.Forms.Screen類,而不是直接調用本地方法。 – 2009-12-27 04:27:14