123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using Avalonia;
- using Avalonia.Controls.ApplicationLifetimes;
- using Avalonia.Markup.Xaml;
- using HanumanInstitute.MvvmDialogs;
- using HanumanInstitute.MvvmDialogs.Avalonia;
- using HanumanInstitute.MvvmDialogs.Avalonia.MessageBox;
- using Splat;
- using VeloeAvaloniaKemonoPartyApp.ViewModels;
- using VeloeKemonoPartyApp.Services;
- namespace VeloeAvaloniaKemonoPartyApp
- {
- public partial class App : Application
- {
- public override void Initialize()
- {
- AvaloniaXamlLoader.Load(this);
- var build = Locator.CurrentMutable;
- build.RegisterLazySingleton(() => (IDialogService)new DialogService(
- new DialogManager(
- viewLocator: ApplicationLifetime is IClassicDesktopStyleApplicationLifetime ? new Dialogs.ViewLocatorDesktop() : new Dialogs.ViewLocatorSingle(),
- dialogFactory: new DialogFactory().AddMessageBox(MessageBoxMode.Popup)),
- viewModelFactory: x => Locator.Current.GetService(x)));
- build.RegisterLazySingleton(() => new KemonoHttpClient());
- SplatRegistrations.Register<CreatorsViewModel>();
- SplatRegistrations.Register<CreatorPostsViewModel>();
- SplatRegistrations.SetupIOC();
- }
- public override void OnFrameworkInitializationCompleted()
- {
- DialogService.Show(null, CreatorsViewModel);
- base.OnFrameworkInitializationCompleted();
- }
- public static MainViewModel MainViewModel => Locator.Current.GetService<MainViewModel>()!;
- public static CreatorsViewModel CreatorsViewModel => Locator.Current.GetService<CreatorsViewModel>()!;
- public static CreatorPostsViewModel CreatorPostsViewModel => Locator.Current.GetService<CreatorPostsViewModel>()!;
- private static IDialogService DialogService => Locator.Current.GetService<IDialogService>()!;
- public static StrongViewLocator ViewLocator { get; private set; } = default!;
- }
- }
|