From 981bc3f933ebfd13d8ca8ba00b3189d71bfb6820 Mon Sep 17 00:00:00 2001 From: Zhe Fang Date: Mon, 8 Dec 2025 23:02:46 -0500 Subject: [PATCH] fix: fullscreen maximize button error --- .../BetterLyrics.WinUI3 (Package)/Package.appxmanifest | 2 +- .../Extensions/LyricsWindowStatusExtensions.cs | 2 -- BetterLyrics.WinUI3/BetterLyrics.WinUI3/Hooks/WindowHook.cs | 6 ++++++ .../BetterLyrics.WinUI3/Views/NowPlayingWindow.xaml.cs | 3 +++ 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3 (Package)/Package.appxmanifest b/BetterLyrics.WinUI3/BetterLyrics.WinUI3 (Package)/Package.appxmanifest index 4eb5ffa..157b2b0 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3 (Package)/Package.appxmanifest +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3 (Package)/Package.appxmanifest @@ -12,7 +12,7 @@ + Version="1.1.172.0" /> diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Extensions/LyricsWindowStatusExtensions.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Extensions/LyricsWindowStatusExtensions.cs index f1afee5..a39adef 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Extensions/LyricsWindowStatusExtensions.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Extensions/LyricsWindowStatusExtensions.cs @@ -73,8 +73,6 @@ namespace BetterLyrics.WinUI3.Extensions var status = new LyricsWindowStatus(window) { Name = _resourceService.GetLocalizedString("FullscreenMode"), - IsAlwaysOnTop = true, - TitleBarArea = TitleBarArea.None, LyricsLayoutOrientation = LyricsLayoutOrientation.Vertical, LyricsStyleSettings = new LyricsStyleSettings { diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Hooks/WindowHook.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Hooks/WindowHook.cs index 1e1c406..5210b44 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Hooks/WindowHook.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Hooks/WindowHook.cs @@ -283,6 +283,8 @@ namespace BetterLyrics.WinUI3.Hooks public static void SetIsFullscreen(this Window window, bool enable) { + if (window.AppWindow == null) return; + if (enable) { window.AppWindow.SetPresenter(AppWindowPresenterKind.FullScreen); @@ -295,6 +297,8 @@ namespace BetterLyrics.WinUI3.Hooks public static void SetIsMaximized(this Window window, bool enable) { + if (window.AppWindow == null) return; + if (enable) { window.Maximize(); @@ -312,6 +316,8 @@ namespace BetterLyrics.WinUI3.Hooks public static void SetIsAlwaysOnTop(this Window window, bool enable) { + if (window.AppWindow == null) return; + if (window.AppWindow.Presenter is OverlappedPresenter presenter) { presenter.IsAlwaysOnTop = enable; diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Views/NowPlayingWindow.xaml.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Views/NowPlayingWindow.xaml.cs index 63e6467..2b33235 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Views/NowPlayingWindow.xaml.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Views/NowPlayingWindow.xaml.cs @@ -176,6 +176,9 @@ namespace BetterLyrics.WinUI3.Views this.SetIsFullscreen(LyricsWindowStatus.IsFullscreen); EnterFullscreenFontIcon.Opacity = LyricsWindowStatus.IsFullscreen ? 0 : 1; ExitFullscreenFontIcon.Opacity = LyricsWindowStatus.IsFullscreen ? 1 : 0; + MaximizeButton.Visibility = LyricsWindowStatus.IsFullscreen ? Visibility.Collapsed : Visibility.Visible; + AOTButton.Visibility = LyricsWindowStatus.IsFullscreen ? Visibility.Collapsed : Visibility.Visible; + MinimizeButton.Visibility = LyricsWindowStatus.IsFullscreen ? Visibility.Collapsed : Visibility.Visible; } private void OnIsMaximizedChanged()