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

时间:2020-01-10 11:32:24   收藏:0   阅读:158
原文:【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://stackoverflow.com/questions/13425088/is-it-possible-to-specify-the-maximizedbounds-of-a-wpf-window-via-pinvoke

技术分享图片

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

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

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

以上。

原文:https://www.cnblogs.com/lonelyxmas/p/12174823.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!