Files
CryptoProfile-Tracker/CryptoPortfolio Tracker/App.axaml.cs
T

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();
}
}