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

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

public class CustomWindow:Window
    {
        public CustomWindow()
        {
            DefaultStyleKey = typeof(CustomWindow);
            CommandBindings.Add(new CommandBinding(SystemCommands.CloseWindowCommand, CloseWindow));
            CommandBindings.Add(new CommandBinding(SystemCommands.MaximizeWindowCommand, MaximizeWindow, CanResizeWindow));
            CommandBindings.Add(new CommandBinding(SystemCommands.MinimizeWindowCommand, MinimizeWindow, CanMinimizeWindow));
            CommandBindings.Add(new CommandBinding(SystemCommands.RestoreWindowCommand, RestoreWindow, CanResizeWindow));
            CommandBindings.Add(new CommandBinding(SystemCommands.ShowSystemMenuCommand, ShowSystemMenu));
            this.MaxWidth = SystemParameters.MaximizedPrimaryScreenWidth;
            this.MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight;
        } 

 

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

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

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

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

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

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

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

以上。

你可能感兴趣的:(【WPF小功能】自定义窗体 最大化的时候遮挡任务栏--解决方案)