2023-03-20 23:14:50 +08:00
|
|
|
using Avalonia;
|
|
|
|
using Avalonia.Controls.ApplicationLifetimes;
|
2024-07-23 14:57:21 +08:00
|
|
|
using Avalonia.Data.Core.Plugins;
|
2023-03-20 23:14:50 +08:00
|
|
|
using Avalonia.Markup.Xaml;
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
|
|
|
|
public override void OnFrameworkInitializationCompleted()
|
|
|
|
{
|
2023-08-30 00:13:26 +08:00
|
|
|
switch (ApplicationLifetime)
|
2023-03-20 23:14:50 +08:00
|
|
|
{
|
2023-08-30 00:13:26 +08:00
|
|
|
case IClassicDesktopStyleApplicationLifetime desktop:
|
2024-07-23 14:57:21 +08:00
|
|
|
// 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);
|
2023-08-30 00:13:26 +08:00
|
|
|
desktop.MainWindow = new MainWindow();
|
|
|
|
break;
|
|
|
|
case ISingleViewApplicationLifetime singleView:
|
|
|
|
singleView.MainView = new MainView();
|
|
|
|
break;
|
2023-03-20 23:14:50 +08:00
|
|
|
}
|
2023-08-30 00:13:26 +08:00
|
|
|
|
2023-03-20 23:14:50 +08:00
|
|
|
base.OnFrameworkInitializationCompleted();
|
|
|
|
}
|
|
|
|
}
|