using XFEExtension.NetCore.WinUIHelper.Interface.Services;
using XFEExtension.NetCore.WinUIHelper.TestApp.Profiles.CrossVersionProfiles;
using XFEExtension.NetCore.WinUIHelper.Utilities;
using XFEExtension.NetCore.WinUIHelper.Utilities.Helper;
namespace XFEExtension.NetCore.WinUIHelper.TestApp
{
///
/// Provides application-specific behavior to supplement the default Application class.
///
public partial class App : Application
{
///
/// 主页窗口
///
public static MainWindow MainWindow { get; set; } = new();
///
/// Initializes the singleton application object. This is the first line of authored code
/// executed, and as such is the logical equivalent of main() or WinMain().
///
public App()
{
this.InitializeComponent();
AppThemeHelper.Theme = SystemProfile.Theme;
PageManager.RegisterPage(typeof(AppShellPage));
PageManager.RegisterPage(typeof(MainPage));
PageManager.RegisterPage(typeof(TestPage));
PageManager.RegisterPage(typeof(WebViewTestPage));
PageManager.RegisterPage(typeof(SettingPage));
UnhandledException += App_UnhandledException;
}
private void App_UnhandledException(object sender, Microsoft.UI.Xaml.UnhandledExceptionEventArgs e)
{
if (ServiceManager.GetService() is IMessageService messageService)
{
messageService.ShowMessage(e.Message, "发生错误", InfoBarSeverity.Error);
e.Handled = true;
}
}
///
/// Invoked when the application is launched.
///
/// Details about the launch request and process.
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
MainWindow.Content = new AppShellPage();
MainWindow.Activate();
AppThemeHelper.MainWindow = MainWindow;
}
}
}