43 lines
1.3 KiB
C#
43 lines
1.3 KiB
C#
using Avalonia;
|
|
using Avalonia.Controls.ApplicationLifetimes;
|
|
using Avalonia.Controls;
|
|
using Avalonia.Markup.Xaml;
|
|
using CryptoPortfolio_Tracker.ViewModels;
|
|
using CryptoPortfolio_Tracker.Views;
|
|
|
|
namespace CryptoPortfolio_Tracker;
|
|
|
|
public partial class App : Application
|
|
{
|
|
public override void Initialize()
|
|
{
|
|
AvaloniaXamlLoader.Load(this);
|
|
#if DEBUG
|
|
this.AttachDeveloperTools();
|
|
#endif
|
|
}
|
|
|
|
public override void OnFrameworkInitializationCompleted()
|
|
{
|
|
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
|
{
|
|
desktop.MainWindow = new MainWindow();
|
|
}
|
|
else if (ApplicationLifetime is IActivityApplicationLifetime singleViewFactoryApplicationLifetime)
|
|
{
|
|
singleViewFactoryApplicationLifetime.MainViewFactory = () => new PageNavigationHost()
|
|
{
|
|
Page = new MainView { DataContext = new MainViewModel() }
|
|
};
|
|
}
|
|
else if (ApplicationLifetime is ISingleViewApplicationLifetime singleViewPlatform)
|
|
{
|
|
singleViewPlatform.MainView = new PageNavigationHost()
|
|
{
|
|
Page = new MainView { DataContext = new MainViewModel() }
|
|
};
|
|
}
|
|
|
|
base.OnFrameworkInitializationCompleted();
|
|
}
|
|
} |