diff --git a/src/Snap.Hutao/Snap.Hutao/App.xaml.cs b/src/Snap.Hutao/Snap.Hutao/App.xaml.cs
index 443ad36f..5ae271ed 100644
--- a/src/Snap.Hutao/Snap.Hutao/App.xaml.cs
+++ b/src/Snap.Hutao/Snap.Hutao/App.xaml.cs
@@ -50,8 +50,6 @@ public sealed partial class App : Application
/// 服务提供器
public App(IServiceProvider serviceProvider)
{
- // DispatcherShutdownMode = DispatcherShutdownMode.OnExplicitShutdown;
-
// Load app resource
InitializeComponent();
activation = serviceProvider.GetRequiredService();
@@ -61,6 +59,14 @@ public sealed partial class App : Application
this.serviceProvider = serviceProvider;
}
+ public bool IsExiting { get; private set; }
+
+ public new void Exit()
+ {
+ IsExiting = true;
+ base.Exit();
+ }
+
///
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/NotifyIcon/NotifyIconController.cs b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/NotifyIcon/NotifyIconController.cs
index 2315faf9..fedc4784 100644
--- a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/NotifyIcon/NotifyIconController.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/NotifyIcon/NotifyIconController.cs
@@ -1,7 +1,6 @@
// Copyright (c) DGP Studio. All rights reserved.
// Licensed under the MIT license.
-using Microsoft.UI.Xaml.Controls;
using Snap.Hutao.Core.ExceptionService;
using Snap.Hutao.Win32.Foundation;
using Snap.Hutao.Win32.UI.WindowsAndMessaging;
diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowController.cs b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowController.cs
index f103acab..11b01845 100644
--- a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowController.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/XamlWindowController.cs
@@ -136,7 +136,7 @@ internal sealed class XamlWindowController
private void OnWindowClosed(object sender, WindowEventArgs args)
{
- if (LocalSetting.Get(SettingKeys.IsNotifyIconEnabled, true))
+ if (LocalSetting.Get(SettingKeys.IsNotifyIconEnabled, true) && !serviceProvider.GetRequiredService().IsExiting)
{
args.Handled = true;
window.Hide();
diff --git a/src/Snap.Hutao/Snap.Hutao/MainWindow.xaml.cs b/src/Snap.Hutao/Snap.Hutao/MainWindow.xaml.cs
index c907bac1..a8afe091 100644
--- a/src/Snap.Hutao/Snap.Hutao/MainWindow.xaml.cs
+++ b/src/Snap.Hutao/Snap.Hutao/MainWindow.xaml.cs
@@ -29,8 +29,6 @@ internal sealed partial class MainWindow : Window, IXamlWindowOptionsSource, IMi
InitializeComponent();
windowOptions = new(this, TitleBarView.DragArea, new(1200, 741), SettingKeys.WindowRect);
this.InitializeController(serviceProvider);
-
- Closed += OnClosed;
}
///
@@ -42,13 +40,4 @@ internal sealed partial class MainWindow : Window, IXamlWindowOptionsSource, IMi
pInfo.ptMinTrackSize.x = (int)Math.Max(MinWidth * scalingFactor, pInfo.ptMinTrackSize.x);
pInfo.ptMinTrackSize.y = (int)Math.Max(MinHeight * scalingFactor, pInfo.ptMinTrackSize.y);
}
-
- private void OnClosed(object sender, WindowEventArgs args)
- {
- if (LocalSetting.Get(SettingKeys.IsNotifyIconEnabled, true))
- {
- args.Handled = true;
- this.Hide();
- }
- }
}
\ No newline at end of file
diff --git a/src/Snap.Hutao/Snap.Hutao/Properties/launchSettings.json b/src/Snap.Hutao/Snap.Hutao/Properties/launchSettings.json
index a5fb2a14..36a6b395 100644
--- a/src/Snap.Hutao/Snap.Hutao/Properties/launchSettings.json
+++ b/src/Snap.Hutao/Snap.Hutao/Properties/launchSettings.json
@@ -2,7 +2,7 @@
"profiles": {
"Snap.Hutao": {
"commandName": "MsixPackage",
- "nativeDebugging": false,
+ "nativeDebugging": true,
"doNotLaunchApp": false,
"allowLocalNetworkLoopbackProperty": true
},