using Avalonia; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Markup.Xaml; using Avalonia.ReactiveUI; using ReactiveUI; using ReactiveUIDemo.ViewModels; using ReactiveUIDemo.Views; using Splat; namespace ReactiveUIDemo { public class App : Application { public override void Initialize() { AvaloniaXamlLoader.Load(this); Locator.CurrentMutable.Register(() => new FooView(), typeof(IViewFor)); Locator.CurrentMutable.Register(() => new BarView(), typeof(IViewFor)); } public override void OnFrameworkInitializationCompleted() { if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) desktop.MainWindow = new MainWindow(); base.OnFrameworkInitializationCompleted(); } public static int Main(string[] args) => BuildAvaloniaApp().StartWithClassicDesktopLifetime(args); public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure() .UsePlatformDetect() .UseReactiveUI() .LogToTrace(); } }