mekasu0124

Untitled

Mar 16th, 2024
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.41 KB | None | 0 0
  1. using Avalonia;
  2. using Avalonia.Controls.ApplicationLifetimes;
  3. using Avalonia.Markup.Xaml;
  4. using MakeMyProject.ViewModels;
  5. using MakeMyProject.Views;
  6. using SplashScreen.ViewModels;
  7. using System.Threading.Tasks;
  8. using SplashScreen;
  9. using MakeMyProject.Services;
  10.  
  11. namespace MakeMyProject
  12. {
  13.     public partial class App : Application
  14.     {
  15.         public override void Initialize()
  16.         {
  17.             AvaloniaXamlLoader.Load(this);
  18.         }
  19.  
  20.         public override async void OnFrameworkInitializationCompleted()
  21.         {
  22.             if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
  23.             {
  24.                 JsonEngine.StartSetup();
  25.  
  26.                 var splashWindow = new Splash();
  27.                 var splashViewModel = new SplashViewModel();
  28.  
  29.                 splashWindow.DataContext = splashViewModel;
  30.                 desktop.MainWindow = splashWindow;
  31.  
  32.                 try
  33.                 {
  34.                     splashViewModel.StartUpMessage = "Starting Make My Project...";
  35.                     await Task.Delay(500, cancellationToken: splashViewModel.cancellationToken);
  36.  
  37.                     splashViewModel.StartUpMessage = "Loading Application Resources...";
  38.                     await Task.Delay(500, cancellationToken: splashViewModel.cancellationToken);
  39.  
  40.                     splashViewModel.StartUpMessage = "Applying Styles...";
  41.                     await Task.Delay(500, cancellationToken: splashViewModel.cancellationToken);
  42.  
  43.                     splashViewModel.StartUpMessage = "Starting Helper Engines...";
  44.                     await Task.Delay(500, cancellationToken: splashViewModel.cancellationToken);
  45.  
  46.                     splashViewModel.StartUpMessage = "Launching Make My Project...";
  47.                     await Task.Delay(500, cancellationToken: splashViewModel.cancellationToken);
  48.                 }
  49.                 catch (TaskCanceledException)
  50.                 {
  51.                     splashWindow.Close();
  52.                     return;
  53.                 }
  54.  
  55.                 var mainWindow = new MainWindow();
  56.                 var mainWindowViewModel = new MainWindowViewModel();
  57.  
  58.                 mainWindow.DataContext = mainWindowViewModel;
  59.                 desktop.MainWindow = mainWindow;
  60.  
  61.                 mainWindow.Show();
  62.                 splashWindow.Close();
  63.             }
  64.  
  65.             base.OnFrameworkInitializationCompleted();
  66.         }
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment