【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

簡單易懂哈哈哈,在窗體定義的時候 限定掉最大寬高就行啦哈哈哈哈,這個真的就兩句話結束。

一定要在窗體定義哦,不要放最大化按鍵時間那裏。 否則拖動或者雙擊標題欄還是會遮擋任務欄的。

搜了好多博客都沒有這個答案,先記錄下

以上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章