Files
Semi.Avalonia/demo/Semi.Avalonia.Demo/App.axaml.cs
T

44 lines
1.3 KiB
C#
Raw Normal View History

using System;
2023-03-20 23:14:50 +08:00
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
2025-01-13 12:37:55 +08:00
using Semi.Avalonia.Demo.ViewModels;
2023-03-20 23:14:50 +08:00
using Semi.Avalonia.Demo.Views;
2023-08-30 00:13:26 +08:00
namespace Semi.Avalonia.Demo;
2023-03-20 23:14:50 +08:00
public partial class App : Application
{
2023-03-20 23:52:08 +08:00
public override void Initialize()
2023-03-20 23:14:50 +08:00
{
AvaloniaXamlLoader.Load(this);
#if DEBUG
this.AttachDeveloperTools();
#endif
DataContext = new ApplicationViewModel();
if (OperatingSystem.IsLinux())
{
Resources.Add("DefaultFontFamily", null);
}
2023-03-20 23:14:50 +08:00
}
public override void OnFrameworkInitializationCompleted()
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
desktop.MainWindow = new MainWindow { DataContext = new MainViewModel() };
}
else if (ApplicationLifetime is IActivityApplicationLifetime applicationLifetime)
{
applicationLifetime.MainViewFactory = () => new MainView { DataContext = new MainViewModel() };
}
else if (ApplicationLifetime is ISingleViewApplicationLifetime singleViewPlatform)
2023-03-20 23:14:50 +08:00
{
singleViewPlatform.MainView = new MainView { DataContext = new MainViewModel() };
2023-03-20 23:14:50 +08:00
}
2023-08-30 00:13:26 +08:00
this.RegisterFollowSystemTheme();
2023-03-20 23:14:50 +08:00
base.OnFrameworkInitializationCompleted();
}
}