【问题标题】:WPF maximize main window with center for applicationWPF 最大化应用程序中心的主窗口
【发布时间】:2015-06-15 08:34:30
【问题描述】:

我有 WPF 应用程序,我想最大化主窗口。我尝试了以下代码,但问题是窗口已最大化但未居中。我希望窗口最大化,因为我通过鼠标单击最大化窗口。我的代码是:

 mainWindow.Height = SystemParameters.MaximizedPrimaryScreenHeight;
 mainWindow.Width = SystemParameters.MaximizedPrimaryScreenWidth;

【问题讨论】:

    标签: c# wpf window


    【解决方案1】:

    设置WindowState 属性而不是WidthHeight

    mainWindow.WindowState = WindowState.Maximized;
    

    【讨论】:

      【解决方案2】:

      这应该可行:

      window.WindowStartupLocation = WindowStartupLocation.CenterScreen;
      window.WindowState = WindowState.Maximized;
      

      如果不行,试试这个方法:

      private void CenterWindow()
      {
          double screenWidth = System.Windows.SystemParameters.PrimaryScreenWidth;
          double screenHeight = System.Windows.SystemParameters.PrimaryScreenHeight;
          double windowWidth = this.Width;
          double windowHeight = this.Height;
          this.Left = (screenWidth / 2) - (windowWidth / 2);
          this.Top = (screenHeight / 2) - (windowHeight / 2);
      }
      

      然后最大化它:

       window.WindowState = WindowState.Maximized;
      

      此外,当使用 2 个或更多显示器时,您可能希望创建一个窗口并将其显示在光标处于活动状态的显示器上。为了做到这一点,您将需要以下技巧:

       Window window = new Window();
       window.WindowStartupLocation = WindowStartupLocation.CenterScreen;
       window.SourceInitialized += (s, a) => window.WindowState = WindowState.Maximized;
       window.Show();
      

      【讨论】:

        猜你喜欢
        • 2020-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-24
        • 1970-01-01
        • 2012-02-29
        • 2021-09-29
        相关资源
        最近更新 更多