Browse Source

Fix maximized margin

Ruben 8 months ago
parent
commit
82775ffdbc
1 changed files with 22 additions and 1 deletions
  1. 22 1
      src/PicView.Avalonia/WindowBehavior/WindowFunctions.cs

+ 22 - 1
src/PicView.Avalonia/WindowBehavior/WindowFunctions.cs

@@ -276,6 +276,7 @@ public static class WindowFunctions
             vm.SizeToContent = SizeToContent.Manual;
             vm.CanResize = true;
         }
+        SetMargin();
     }
 
     public static void Maximize()
@@ -308,8 +309,28 @@ public static class WindowFunctions
             }
 
             desktop.MainWindow.WindowState = WindowState.Maximized;
-            WindowResizing.SetSize(desktop.MainWindow.DataContext as MainViewModel);
             Settings.WindowProperties.Maximized = true;
+            WindowResizing.SetSize(desktop.MainWindow.DataContext as MainViewModel);
+            SetMargin();
+        }
+    }
+    
+    private static void SetMargin()
+    {
+        if (Application.Current?.ApplicationLifetime is not IClassicDesktopStyleApplicationLifetime desktop)
+        {
+            return;
+        }
+        if (Settings.WindowProperties.Maximized)
+        {
+            UIHelper.GetTitlebar.Margin = desktop.MainWindow.OffScreenMargin;
+            UIHelper.GetBottomBar. Margin = desktop.MainWindow.OffScreenMargin;
+        }
+        else
+        {
+            var noMargin = new Thickness(0);
+            UIHelper.GetTitlebar.Margin = noMargin;
+            UIHelper.GetBottomBar.Margin = noMargin;
         }
     }