Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使WPF应用程序全屏显示(封面开始菜单)_C#_Wpf - Fatal编程技术网

C# 使WPF应用程序全屏显示(封面开始菜单)

C# 使WPF应用程序全屏显示(封面开始菜单),c#,wpf,C#,Wpf,我想让我的WPF应用程序全屏。现在“开始”菜单阻止它覆盖所有内容,并将我的应用程序向上移动。以下是我的MainWindow.xaml代码: <Window x:Class="HTA.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" mc:Ignorabl

我想让我的WPF应用程序全屏。现在“开始”菜单阻止它覆盖所有内容,并将我的应用程序向上移动。以下是我的MainWindow.xaml代码:

<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">

您可能缺少
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">

您还可以在运行时执行以下操作:

  • 为窗口指定名称(x:name=“主页”)
  • 在构造函数中,只需将WindowsState属性设置为最大化,如下所示
HomePage.WindowState=WindowState.Maximized


窗口状态为最大化,窗口样式为无

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;

当您通过代码进行操作时,可以使用多个屏幕

,诀窍是调用

WindowStyle = WindowStyle.None;
先是

WindowState = WindowState.Maximized;

使其显示在任务栏上。

如果您希望用户在
WindowStyle.SingleBorderWindow
WindowStyle.None
运行时可以在代码处进行更改:

使应用程序全屏显示:

RootWindow.Visibility = Visibility.Collapsed;
RootWindow.WindowStyle = WindowStyle.None;
RootWindow.ResizeMode = ResizeMode.NoResize;
RootWindow.WindowState = WindowState.Maximized;
RootWindow.Topmost = true;
RootWindow.Visibility = Visibility.Visible;
返回到单边框样式:

RootWindow.WindowStyle = WindowStyle.SingleBorderWindow;
RootWindow.ResizeMode = ResizeMode.CanResize;
RootWindow.Topmost = false;

请注意,如果没有
RootWindow.Visibility
属性,您的窗口将不会覆盖开始菜单,但是,如果在启动时使应用程序全屏显示一次,则可以跳过此步骤。

不应将codebehind用于可在xaml中设置的属性。@Petervankem当默认情况下窗口未最大化,而是在用户希望通过单击按钮等使其最大化时,这非常有用。True,但在答案中,它是在构造函数中设置的。(使用MVVM模式时,应使用ViewModel类,并将WindowsState绑定到属性)这是在代码中全屏和非全屏之间切换的技巧
RootWindow.WindowStyle = WindowStyle.SingleBorderWindow;
RootWindow.ResizeMode = ResizeMode.CanResize;
RootWindow.Topmost = false;