最大化的无边界应用程序隐藏在Win 7和Win 8中的任务栏后面

我在WPF中创建了一个无边框窗口。 我写了一个事件来最大化窗口但是在最大化时,窗口的一部分有时会隐藏在任务栏后面,并且在任务栏顶部出现片刻之后。

如何确保窗口每次都保留在任务栏的顶部? 以下是我实施的方式:

private void OnMaximizedClicked(object sender, RoutedEventArgs e) { this.WindowState = this.WindowState != WindowState.Normal ? WindowState.Normal : WindowState.Maximized; } 

我已经尝试将TopMost属性设置为true,但也没有帮助我。

这将解决它,但我觉得应该有一个更优雅的方式:

 this.WindowStyle = System.Windows.WindowStyle.SingleBorderWindow; this.WindowState = this.WindowState != WindowState.Normal ? WindowState.Normal : WindowState.Maximized; this.WindowStyle = System.Windows.WindowStyle.None; 

顺便说一句,我从这个WinForms的答案中改编了它。 所以它不是WPF相关的,你可以抛出更广泛的搜索网。

将ResizeMode设置为NoResize有助于我的情况:

 ResizeMode="NoResize"