Files
DMS/App.xaml.cs

71 lines
2.4 KiB
C#
Raw Normal View History

2025-05-29 08:58:58 +08:00
using System.Configuration;
using System.Data;
using System.Windows;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using PMSWPF.Data.Repositories;
2025-05-29 08:58:58 +08:00
using PMSWPF.Services;
using PMSWPF.ViewModels;
using PMSWPF.Views;
namespace PMSWPF
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
2025-06-10 20:55:39 +08:00
public new static App Current => (App)Application.Current;
public IServiceProvider Services { get; }
public App()
2025-05-29 08:58:58 +08:00
{
2025-06-10 20:55:39 +08:00
var container = new ServiceCollection();
container.AddSingleton<NavgatorServices>();
container.AddSingleton<DevicesRepositories>();
container.AddSingleton<IDeviceDialogService, DeviceDialogService>();
2025-06-10 20:55:39 +08:00
container.AddSingleton<MainViewModel>();
container.AddSingleton<HomeViewModel>();
container.AddSingleton<DevicesViewModel>();
container.AddSingleton<DataTransformViewModel>();
container.AddSingleton<MainView>(dp => new MainView()
{ DataContext = dp.GetRequiredService<MainViewModel>() });
container.AddSingleton<HomeView>();
container.AddSingleton<DevicesView>();
container.AddSingleton<DataTransformViewModel>();
2025-05-29 08:58:58 +08:00
2025-06-10 20:55:39 +08:00
Services = container.BuildServiceProvider();
2025-05-29 08:58:58 +08:00
}
2025-06-10 20:55:39 +08:00
protected override void OnStartup(StartupEventArgs e)
2025-05-29 08:58:58 +08:00
{
2025-06-10 20:55:39 +08:00
base.OnStartup(e);
MainWindow = Services.GetRequiredService<MainView>();
MainWindow.Show();
2025-05-29 08:58:58 +08:00
}
2025-06-10 20:55:39 +08:00
// [STAThread]
// static void Main(string[] args)
// {
// using IHost host = CreateHostBuilder(args).Build();
// host.Start();
// App app = new App();
// app.InitializeComponent();
// app.MainWindow = host.Services.GetRequiredService<MainView>();
// app.MainWindow.Visibility = Visibility.Visible;
// app.Run();
//
// }
//
// private static IHostBuilder CreateHostBuilder(string[] args)
// {
// return Host.CreateDefaultBuilder(args).ConfigureServices(services =>
// {
//
// services.AddHostedService<DemoBackgroundService>();
// services.AddSingleton<MainView>();
// services.AddSingleton<MainViewModel>();
// });
// }
}
}