WPF Metro Window full screen
我目前正在使用WPF应用程序,但找不到如何全屏显示应用程序。
我正在使用MahApps.Metro,所以主窗口的类型为Controls.MetroWindow。
我尝试了这个:
1 2 3 4 5 6 7 8 9 | <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 =" NoResize"(请参见下面的代码),运行应用程序并将其最大化。
1 2 3 4 5 6 7 8 | <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吗?
我可以重现您的问题。 您应该在这里将其报告为错误
现在,简单的解决方法可能是:
保持与您相同的xaml:
1 2 3 4 5 6 7 8 | <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"> |
并在
1 2 3 4 5 6 7 8 9 10 11 12 | public MainWindow() { InitializeComponent(); Loaded += OnLoaded; } private void OnLoaded(object sender, RoutedEventArgs routedEventArgs) { WindowState = WindowState.Maximized; ResizeMode = ResizeMode.NoResize; ShowMaxRestoreButton = false; ShowMinButton = false; Loaded -= OnLoaded; } |
这将为您提供所需的行为。 我们几乎设置了状态(最大化),使用
使用最新的Alpha版本,您可以通过两种不同的方式来实现:
第一
1 2 3 4 5 6 7 8 9 | <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"> |
第二
1 2 3 4 5 6 7 8 | <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"> |
在第二种解决方案中,您也没有标题栏,最小,最大,关闭按钮