【WPF小功能】自定义窗体 最大化的时候遮挡任务栏--解决方案

原文:【WPF小功能】自定义窗体 最大化的时候遮挡任务栏--解决方案

  1. public class CustomWindow:Window
  2. {
  3. public CustomWindow()
  4. {
  5. DefaultStyleKey = typeof(CustomWindow);
  6. CommandBindings.Add(new CommandBinding(SystemCommands.CloseWindowCommand, CloseWindow));
  7. CommandBindings.Add(new CommandBinding(SystemCommands.MaximizeWindowCommand, MaximizeWindow, CanResizeWindow));
  8. CommandBindings.Add(new CommandBinding(SystemCommands.MinimizeWindowCommand, MinimizeWindow, CanMinimizeWindow));
  9. CommandBindings.Add(new CommandBinding(SystemCommands.RestoreWindowCommand, RestoreWindow, CanResizeWindow));
  10. CommandBindings.Add(new CommandBinding(SystemCommands.ShowSystemMenuCommand, ShowSystemMenu));
  11. this.MaxWidth = SystemParameters.MaximizedPrimaryScreenWidth;
  12. this.MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight;
  13. }

碰到这个问题的时候,百度了很多,都是用钩子啊windowsAPI 或者winform的解决方法,或者还有用屏幕实际宽高来算Left,Top的,就算能实现 感觉写那么多代码就是把简单的问题变得复杂,心理不爽呀。

然后就看到了这个答案哈哈

https://*.com/questions/13425088/is-it-possible-to-specify-the-maximizedbounds-of-a-wpf-window-via-pinvoke

【WPF小功能】自定义窗体 最大化的时候遮挡任务栏--解决方案

简单易懂哈哈哈,在窗体定义的时候 限定掉最大宽高就行啦哈哈哈哈,这个真的就两句话结束。

一定要在窗体定义哦,不要放最大化按键时间那里。 否则拖动或者双击标题栏还是会遮挡任务栏的。

搜了好多博客都没有这个答案,先记录下

以上。

【WPF小功能】自定义窗体 最大化的时候遮挡任务栏--解决方案

上一篇:荔枝派Nano (Lichee Pi)玩 Linux 傻瓜教程 (6) --- 程序自启


下一篇:Winfrom打包教程(Inno Setup工具)