diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Helper/WindowHelper.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Helper/WindowHelper.cs index 7cc3c98..08fd637 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Helper/WindowHelper.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Helper/WindowHelper.cs @@ -64,16 +64,30 @@ namespace BetterLyrics.WinUI3.Helper throw new ArgumentException("Unsupported window type", nameof(T)); } TrackWindow(window); - } - var castedWindow = (Window)window; - castedWindow.Restore(); - castedWindow.Activate(); + var castedWindow = (Window)window; + castedWindow.Restore(); + castedWindow.Activate(); - if (typeof(T) == typeof(LyricsWindow)) + if (typeof(T) == typeof(LyricsWindow)) + { + var lyricsWindow = (LyricsWindow)window; + lyricsWindow.ViewModel.InitLockHotKey(); + lyricsWindow.AutoSelectLyricsMode(); + } + } + else { - var lyricsWindow = (LyricsWindow)window; - lyricsWindow.ViewModel.InitLockHotKey(); - lyricsWindow.AutoSelectLyricsMode(); + var castedWindow = (Window)window; + if (typeof(T) == typeof(LyricsWindow)) + { + var lyricsWindow = (LyricsWindow)window; + lyricsWindow.Show(); + } + else + { + castedWindow.Restore(); + castedWindow.Activate(); + } } } diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/ViewModels/LyricsWindowViewModel.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/ViewModels/LyricsWindowViewModel.cs index 90f9da0..aa6cedd 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/ViewModels/LyricsWindowViewModel.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/ViewModels/LyricsWindowViewModel.cs @@ -262,7 +262,8 @@ namespace BetterLyrics.WinUI3 } else { - WindowHelper.CloseWindow(); + var window = WindowHelper.GetWindowByWindowType(); + window?.Hide(); } } diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Views/LyricsWindow.xaml.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Views/LyricsWindow.xaml.cs index a9644b0..cdfb150 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Views/LyricsWindow.xaml.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Views/LyricsWindow.xaml.cs @@ -43,6 +43,7 @@ namespace BetterLyrics.WinUI3.Views private void AppWindow_Closing(AppWindow sender, AppWindowClosingEventArgs args) { ViewModel.ExitOrClose(); + args.Cancel = true; } public void UpdateTitleBarArea()