using Avalar.Models; using Avalar.Services.Resizer; using Avalar.Viewmodels.Image; using Avalar.ViewModels.Settings; using Avalar.Views; using Avalonia.Controls; using Avalonia.Markup.Xaml; using Microsoft.Extensions.DependencyInjection; namespace Avalar { public class MainWindow : Window { private ImageViewModel ImageVm { get; } private SettingsViewModel SettingsVm { get; } private ImageModel ImageM { get; } public MainWindow() { InitializeComponent(); var serviceCollection = new ServiceCollection(); serviceCollection.AddScoped(typeof(IResizer), typeof(ImageMagickResizer)); serviceCollection.AddScoped(typeof(IAvalarViewService), (sp) => new AvalarViewService(this)); var serviceProvider = serviceCollection.BuildServiceProvider(); ImageM = new ImageModel(); ImageVm = new ImageViewModel(ImageM, serviceProvider); SettingsVm = new SettingsViewModel(); DataContext = this; } private void InitializeComponent() { AvaloniaXamlLoader.Load(this); } } }