using Microsoft.Extensions.DependencyInjection;
using System.Windows;
using PersonalToolBox.Services;
using PersonalToolBox.Views;
namespace PersonalToolBox;
///
/// WPF 应用程序入口,负责依赖注入容器初始化和启动主窗口
///
public partial class App : Application
{
public static IServiceProvider Services { get; private set; } = null!;
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
var services = new ServiceCollection();
ConfigureServices(services);
Services = services.BuildServiceProvider();
var mainWindow = Services.GetRequiredService();
mainWindow.Show();
}
///
/// 注册所有服务到 DI 容器(单例模式)
///
private static void ConfigureServices(IServiceCollection services)
{
// 日志服务
services.AddSingleton();
// 主窗口
services.AddSingleton();
}
}