using Microsoft.Extensions.DependencyInjection; using NetDocsForLLM.Services; using NetDocsForLLM.ViewModels; using System; using System.Windows; namespace NetDocsForLLM { public partial class App : Application { private readonly ServiceProvider _serviceProvider; public App() { ServiceCollection services = new(); ConfigureServices(services); _serviceProvider = services.BuildServiceProvider(); } private void ConfigureServices(ServiceCollection services) { // Register services services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); // Register ViewModels services.AddSingleton(); services.AddTransient(); services.AddTransient(); // Register Views services.AddSingleton(); } protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); var mainWindow = _serviceProvider.GetRequiredService(); mainWindow.DataContext = _serviceProvider.GetRequiredService(); mainWindow.Show(); } } }