csharpc-sharpdotnetxamlavaloniauicross-platformcross-platform-xamlavaloniaguimulti-platformuser-interfacedotnetcore
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.2 KiB
37 lines
1.2 KiB
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<FooViewModel>));
|
|
Locator.CurrentMutable.Register(() => new BarView(), typeof(IViewFor<BarViewModel>));
|
|
}
|
|
|
|
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<App>()
|
|
.UsePlatformDetect()
|
|
.UseReactiveUI()
|
|
.LogToTrace();
|
|
}
|
|
}
|
|
|