2017-06-13 68 views
1

我无法以涵盖任务栏的方式获取我的应用程序全屏。代码已经多年保持不变,在Windows 7中工作正常,但现在转向Windows 10,我发现在不同的机器上,行为是不同的。使WPF应用程序全屏幕(封面任务栏)可靠

这里是在某些机器上会发生什么:

enter image description here

它应该从边缘fullsrceen没有任务栏边,而是有一个半透明任务栏。如果我切换到窗口模式,大小不会缩小,任务栏不再透明。这两种情况都是由任务栏覆盖的。

这里是我的代码:

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

我已阅读并thisthis但它没有这样做的伎俩。设置大小有可能与它有关吗?我发现它很奇怪,它可以在我的开发PC上正常工作,但在其他一些机器上,我得到了描述的行为。

+1

试图设置ResizeMode =“NoResize”? – Evk

+0

我已经尝试过了,但总的来说我想要在那里调整大小。问题是在不同的PC上完成不同的工作。 –

回答

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; 
} 
相关问题