如果WPF应用程序已最大化,如何显示隐藏的TaskBar

问题描述 投票:0回答:1

如果Windows 10 TaskBar的自动隐藏处于打开状态,则在应用运行时将覆盖它,并且无法使用鼠标光标进入TaskBar。有什么办法解决这个问题?

mc:Ignorable="d" WindowState="Maximized" WindowStyle="None" ResizeMode="NoResize" WindowStartupLocation="CenterScreen">
wpf windows-10 taskbar windowstate
1个回答
0
投票

这是WPF中WindowChrome功能的最大问题之一。我不知道100%完全证明的处理方式。我能够在线找到的最好方法是使用一些互操作程序来手动处理Window的WndProc函数并拦截WM_GETMINMAXINFO消息。此消息控制最大化窗口的尺寸。使用此方法,可以从最大化的尺寸中减去一两个像素,以便任务栏可以戳穿。

由于任务栏可以放置在屏幕的不同角落,因此您可以使用更多互操作来检测任务栏的当前位置。就像我说的那样,这种方法并不完美。有时任务栏会卡在窗口后面。在有人发布更好的方法之前,这是我所能找到的最好的方法。这是我在GitHub上找到的代码示例(不是我的):

https://gist.github.com/MortenChristiansen/6463580

© www.soinside.com 2019 - 2024. All rights reserved.