forked from amkovkov/GranuSightSoftware2
54 lines
2.4 KiB
C#
54 lines
2.4 KiB
C#
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
using GSS2.UI.Core.Services;
|
|
using GSS2.Views;
|
|
using GSS2.ViewModels;
|
|
|
|
namespace GSS2;
|
|
|
|
public static class DependencyInjectionHelper
|
|
{
|
|
public static IServiceCollection AddViewsAndModels(this IServiceCollection services) =>
|
|
services
|
|
.AddSingleton<DependencyInjectionViewLocator>((services) =>
|
|
new DependencyInjectionViewLocator(
|
|
services.GetRequiredService<ILogger<DependencyInjectionViewLocator>>(),
|
|
services
|
|
)
|
|
)
|
|
.AddSingleton<NavigationService>((_) => new NavigationService(Application.Current?.ApplicationLifetime))
|
|
|
|
// Главные
|
|
.AddSingleton<MainViewModel>()
|
|
.AddSingleton<MainView>()
|
|
// Основные
|
|
.AddSingleton<AmineContentViewModel>()
|
|
.AddSingleton<AmineContentView>()
|
|
// Core
|
|
.AddSingleton<GSS2.UI.Core.ViewModels.MainWindowViewModel>()
|
|
// База
|
|
.AddSingleton<ViewModels.DeleteConfirmViewModel>()
|
|
.AddSingleton<ViewModels.NumericKeyboardViewModel>()
|
|
.AddSingleton<Views.DeleteConfirmView>()
|
|
.AddSingleton<Views.NumericKeyboardView>()
|
|
// Общие
|
|
.AddSingleton<ViewModels.Common.SystemViewModel>()
|
|
// .AddSingleton<ViewModels.Common.CameraViewModel>()
|
|
// .AddSingleton<Views.Common.SystemView>()
|
|
// .AddSingleton<Views.Common.CameraView>()
|
|
// AmineContent
|
|
.AddSingleton<ViewModels.AmineContent.StartViewModel>()
|
|
.AddSingleton<ViewModels.AmineContent.AnalysisViewModel>()
|
|
.AddSingleton<ViewModels.AmineContent.SampleCalibrationViewModel>()
|
|
.AddSingleton<ViewModels.AmineContent.SeparatorCalibrationViewModel>()
|
|
.AddSingleton<ViewModels.AmineContent.BrandCalibrationViewModel>()
|
|
.AddSingleton<ViewModels.AmineContent.ExportViewModel>()
|
|
.AddSingleton<Views.AmineContent.StartView>()
|
|
.AddSingleton<Views.AmineContent.AnalysisView>()
|
|
.AddSingleton<Views.AmineContent.SampleCalibrationView>()
|
|
.AddSingleton<Views.AmineContent.SeparatorCalibrationView>()
|
|
.AddSingleton<Views.AmineContent.BrandCalibrationView>()
|
|
.AddSingleton<Views.AmineContent.ExportView>();
|
|
}
|