我无法以涵盖任务栏的方式全屏显示我的应用。代码已经多年没有变化,并且在Windows 7中运行良好但现在转向Windows 10我发现在不同的机器上行为是不同的。
以下是某些机器上发生的情况:
如果没有任务栏,它应该是从边缘到边缘的全长,而是有一个半透明的任务栏。如果我切换到窗口模式,大小不会缩小,任务栏不再透明。两种情况都有一些屏幕被任务栏覆盖。
这是我的代码:
<controls:MetroWindow x:Class="A...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:App.Views"
xmlns:controls1="clr-namespace:App.Controls"
Title="App"
Height="768"
Width="1024"
IgnoreTaskbarOnMaximize="True" //
WindowStyle="None" // This should do the trick
WindowState="Maximized" //
DataContext="{Binding MainWindowViewModel, Source={StaticResource ViewModelLocator}}"
我已阅读this和this,但它没有做到这一点。是否有可能设置尺寸与它有关?我觉得奇怪的是它在我的开发者电脑上工作正常,但在其他一些机器上我得到了描述的行为。
答案 0 :(得分:2)
好吧,如果没有这些工作,我想你应该使用Topmost="True"
如果您在WindowState = Normal
时不希望它打扰其他应用程序,您可以将这些事件添加到您的窗口中:
private void Window_Activated(object sender, EventArgs e)
{
// When window got focused
Topmost = true;
}
private void Window_Deactivated(object sender, EventArgs e)
{
// When window lost focus
Topmost = false;
}
答案 1 :(得分:0)
WindowStyle="None"
WindowState="Maximized"
这对我有用