App.xaml.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using Avalonia;
  2. using Avalonia.Controls.ApplicationLifetimes;
  3. using Avalonia.Markup.Xaml;
  4. using Avalonia.ReactiveUI;
  5. namespace RenderDemo
  6. {
  7. public class App : Application
  8. {
  9. public override void Initialize()
  10. {
  11. AvaloniaXamlLoader.Load(this);
  12. }
  13. public override void OnFrameworkInitializationCompleted()
  14. {
  15. if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
  16. desktop.MainWindow = new MainWindow();
  17. base.OnFrameworkInitializationCompleted();
  18. }
  19. // TODO: Make this work with GTK/Skia/Cairo depending on command-line args
  20. // again.
  21. static void Main(string[] args)
  22. => BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);
  23. // App configuration, used by the entry point and previewer
  24. static AppBuilder BuildAvaloniaApp()
  25. => AppBuilder.Configure<App>()
  26. .With(new Win32PlatformOptions
  27. {
  28. OverlayPopups = true,
  29. })
  30. .UsePlatformDetect()
  31. .UseReactiveUI()
  32. .LogToTrace();
  33. }
  34. }