【发布时间】:2013-09-10 14:40:11
【问题描述】:
我目前正在开发 WPF 应用程序,但我不知道如何使我的应用程序全屏显示。 我正在使用 MahApps.Metro,所以我的主窗口类型是 Controls.MetroWindow。
我试过这个:
<Controls:MetroWindow x:Class="MyProject.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
xmlns:Views="clr-namespace:MyProject.Views"
WindowStyle="None"
ResizeMode="NoResize"
WindowState="Maximized"
Title="MyProject">
但它不会隐藏 Windows 任务栏。但是当我使用一个简单的窗口时它可以工作。看了MetroWindow源码,继承了Window类,不明白为什么不行。
我发现使用 Metro 有一个全屏窗口的唯一方法是将 IgnoreTaskbarOnMaximize 属性设置为 true 并删除 ResizeMode="NoResize"(参见代码下面),运行应用程序并将其最大化。
<Controls:MetroWindow x:Class="MyProject.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
xmlns:Views="clr-namespace:MyProject.Views"
WindowStyle="None"
IgnoreTaskbarOnMaximize="True"
Title="MyProject">
但我想隐藏最小化和最大化按钮.. 您有什么想法可以全屏启动 Controls.MetroWindow 吗?
【问题讨论】:
-
这是 MahApps.Metro 窗口的固有属性。 MahApps.Metro 的默认窗口有几个 P/Invokes 以防止窗口在最大化时覆盖任务栏。
标签: c# wpf xaml fullscreen mahapps.metro