【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://stackoverflow.com/questions/13425088/is-it-possible-to-specify-the-maximizedbounds-of-a-wpf-window-via-pinvoke

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

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

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

以上。

猜你喜欢

转载自www.cnblogs.com/lonelyxmas/p/12174823.html