我目前正在开发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任务栏。但是当我使用一个简单的Window时,它可以工作。我查看了MetroWindow的源代码,它继承了Window类,所以我不明白它为什么不工作。
我发现使用Metro的全屏窗口的唯一方法是将 IgnoreTaskbarOnMaximize 属性设置为true并删除 ResizeMode =&#34; NoResize&#34; (参见下面的代码),运行应用程序并最大化它。
<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">
但我想隐藏Minimize和Maximize按钮.. 你有什么想法全屏启动Controls.MetroWindow吗?
答案 0 :(得分:13)
我可以重现您的问题。您应该将其报告为错误Here
简单解决方法目前可以是:
让你的xaml保持原样:
<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">
和Window
的代码隐藏:
public MainWindow() {
InitializeComponent();
Loaded += OnLoaded;
}
private void OnLoaded(object sender, RoutedEventArgs routedEventArgs) {
WindowState = WindowState.Maximized;
ResizeMode = ResizeMode.NoResize;
ShowMaxRestoreButton = false;
ShowMinButton = false;
Loaded -= OnLoaded;
}
这将为您提供所需的行为。我们几乎设置状态(最大化),使用Loaded
事件隐藏最小/最大按钮,并且只执行一次。
答案 1 :(得分:5)
使用最新的alpha版本,您有两种不同的方法可以解决此问题:
第一
<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"
ResizeMode="NoResize"
WindowState="Maximized"
IgnoreTaskbarOnMaximize="True"
Title="MyProject">
第二
<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"
UseNoneWindowStyle="True"
WindowState="Maximized"
Title="MyProject">
使用第二种解决方案,您也没有标题栏,没有最小,最大,关闭按钮