如果 Windows 10 任务栏的自动隐藏是开启的,那么当应用程序运行时将覆盖它,并且无法使用鼠标光标到达任务栏。有什么办法可以解决这个问题?
mc:Ignorable="d" WindowState="Maximized" WindowStyle="None" ResizeMode="NoResize" WindowStartupLocation="CenterScreen">
如果 Windows 10 任务栏的自动隐藏是开启的,那么当应用程序运行时将覆盖它,并且无法使用鼠标光标到达任务栏。有什么办法可以解决这个问题?
mc:Ignorable="d" WindowState="Maximized" WindowStyle="None" ResizeMode="NoResize" WindowStartupLocation="CenterScreen">
这是 WPF 中 WindowChrome/WindowStyle="None" 功能的最大问题之一。我不知道处理它的 100% 完整证明方式。我能在网上找到的最好方法是使用一些互操作来手动处理 Window 的 WndProc 函数并拦截 WM_GETMINMAXINFO 消息。此消息控制最大化窗口的尺寸。使用此方法,您可以从最大化尺寸中减去一两个像素,以便任务栏可以戳穿。
由于任务栏可以定位在屏幕的不同角落,您可以使用更多的互操作来检测任务栏的当前位置。就像我说的,这种方法并不完美。有时任务栏会卡在窗口后面。在有人发布更好的方法之前,这是我能找到的最好的方法。这是我在 GitHub 上找到的代码示例(不是我的):