2010-08-30 37 views
56

我想让我的WPF应用程序全屏。现在开始菜单阻止它覆盖所有内容并将应用程序转移。这就是我对我的MainWindow.xaml代码:使WPF应用程序全屏(封面启动菜单)

<Window x:Class="HTA.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    mc:Ignorable="d" 
    WindowStyle="None" ResizeMode="NoResize" 
    WindowStartupLocation="CenterScreen" 
    Width="1024" Height="768"> 

回答

129

你可能缺少WindowState="Maximized",请尝试以下操作:

<Window x:Class="HTA.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="350" Width="525" 
    WindowStyle="None" ResizeMode="NoResize" 
    WindowStartupLocation="CenterScreen" WindowState="Maximized"> 
3

你也可以做它在运行时,如下所示:

  • 指定名称的窗口(X:NAME = “主页”)
  • 在构造函数中只设置WindowState属性为最大化如下

HomePage.WindowState = WindowState.Maximized;

+8

不应该使用代码隐藏的,可以在XAML设置的属性。 – 2013-04-29 14:06:16

+2

@PetervanKekem当窗口默认不是最大化时,这非常有用,但当用户希望通过单击按钮等方式获得最大化时,这是非常有用的。 – SepehrM 2014-09-30 12:56:08

+0

是的,但在答案中它是在构造函数中设置的。 (当使用MVVM模式时,您应该使用ViewModel类来实现此目的,并将WindowState绑定到该属性) – 2014-09-30 14:02:49

6
<Window x:Class="HTA.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    mc:Ignorable="d" 
    ResizeMode="NoResize" 
    WindowStartupLocation="CenterScreen" 
    Width="1024" Height="768" 
    WindowState="Maximized" WindowStyle="None"> 

窗口状态,以最大化,窗口风格为无

1
window.WindowStyle = WindowStyle.None; 
window.ResizeMode = ResizeMode.NoResize; 
window.Left = 0; 
window.Top = 0; 
window.Width = SystemParameters.VirtualScreenWidth; 
window.Height = SystemParameters.VirtualScreenHeight; 
window.Topmost = true; 

作品与多屏幕