3

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

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

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

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

4

2 回答 2

1

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

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

顺便说一句,我从这个WinForms answer改编了它。所以它与 WPF 无关,您可以使用更广泛的搜索网络。

于 2012-07-29T19:34:40.673 回答
0

将 ResizeMode 设置为 NoResize 对我的情况有所帮助:

ResizeMode="NoResize"
于 2015-06-01T13:42:27.243 回答