mirror of
https://gitcode.com/gh_mirrors/se/Semi.Avalonia
synced 2026-03-03 00:00:55 +08:00
36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
using Avalonia;
|
|
using Avalonia.Controls.ApplicationLifetimes;
|
|
using Avalonia.Data.Core.Plugins;
|
|
using Avalonia.Markup.Xaml;
|
|
using Semi.Avalonia.Demo.ViewModels;
|
|
using Semi.Avalonia.Demo.Views;
|
|
|
|
namespace Semi.Avalonia.Demo;
|
|
|
|
public partial class App : Application
|
|
{
|
|
public override void Initialize()
|
|
{
|
|
AvaloniaXamlLoader.Load(this);
|
|
this.DataContext = new ApplicationViewModel();
|
|
}
|
|
|
|
public override void OnFrameworkInitializationCompleted()
|
|
{
|
|
switch (ApplicationLifetime)
|
|
{
|
|
case IClassicDesktopStyleApplicationLifetime desktop:
|
|
// Line below is needed to remove Avalonia data validation.
|
|
// Without this line you will get duplicate validations from both Avalonia and CT
|
|
BindingPlugins.DataValidators.RemoveAt(0);
|
|
desktop.MainWindow = new MainWindow();
|
|
break;
|
|
case ISingleViewApplicationLifetime singleView:
|
|
singleView.MainView = new MainView();
|
|
break;
|
|
}
|
|
|
|
this.RegisterFollowSystemTheme();
|
|
base.OnFrameworkInitializationCompleted();
|
|
}
|
|
} |