using Microsoft.UI.Xaml;
using Windows.UI.ViewManagement;
using XFEExtension.NetCore.WinUIHelper.Utilities.Helper;
using XFEWarframe.Admin.Utilities.Helpers;
namespace XFEWarframe.Admin;
public sealed partial class MainWindow : Window
{
private readonly UISettings settings = new();
private bool closing;
public MainWindow()
{
InitializeComponent();
Title = "XFE Warframe · 管理员控制中心";
WindowHelper.Configure(this, 1420, 940);
settings.ColorValuesChanged += OnSystemColorsChanged;
AppWindow.Closing += async (_, args) =>
{
if (closing) return;
args.Cancel = true;
closing = true;
try { await App.ShutdownAsync(); }
finally { Close(); }
};
Closed += (_, _) => settings.ColorValuesChanged -= OnSystemColorsChanged;
}
private void OnSystemColorsChanged(UISettings sender, object args) =>
DispatcherQueue.TryEnqueue(() => AppThemeHelper.ChangeTheme(AppThemeHelper.Theme));
}
using Microsoft.UI.Xaml;
using Windows.UI.ViewManagement;
using XFEExtension.NetCore.WinUIHelper.Utilities.Helper;
using XFEWarframe.Admin.Utilities.Helpers;
namespace XFEWarframe.Admin;
public sealed partial class MainWindow : Window
{
private readonly UISettings settings = new();
private bool closing;
public MainWindow()
{
InitializeComponent();
Title = "XFE Warframe · 管理员控制中心";
WindowHelper.Configure(this, 1420, 940);
settings.ColorValuesChanged += OnSystemColorsChanged;
AppWindow.Closing += async (_, args) =>
{
if (closing) return;
args.Cancel = true;
closing = true;
try { await App.ShutdownAsync(); }
finally { Close(); }
};
Closed += (_, _) => settings.ColorValuesChanged -= OnSystemColorsChanged;
}
private void OnSystemColorsChanged(UISettings sender, object args) =>
DispatcherQueue.TryEnqueue(() => AppThemeHelper.ChangeTheme(AppThemeHelper.Theme));
}