2010-08-30 56 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; 

作品與多屏幕