using System.Configuration; using System.Data; using System.Windows; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using PMSWPF.Data.Repositories; using PMSWPF.Services; using PMSWPF.ViewModels; using PMSWPF.Views; namespace PMSWPF { /// /// Interaction logic for App.xaml /// public partial class App : Application { public new static App Current => (App)Application.Current; public IServiceProvider Services { get; } public App() { var container = new ServiceCollection(); container.AddSingleton(); container.AddSingleton(); container.AddSingleton(); container.AddSingleton(); container.AddSingleton(); container.AddSingleton(); container.AddSingleton(); container.AddSingleton(); container.AddSingleton(dp => new MainView() { DataContext = dp.GetRequiredService() }); container.AddSingleton(); container.AddSingleton(); container.AddSingleton(); Services = container.BuildServiceProvider(); } protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); MainWindow = Services.GetRequiredService(); MainWindow.Show(); } // [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(); // app.MainWindow.Visibility = Visibility.Visible; // app.Run(); // // } // // private static IHostBuilder CreateHostBuilder(string[] args) // { // return Host.CreateDefaultBuilder(args).ConfigureServices(services => // { // // services.AddHostedService(); // services.AddSingleton(); // services.AddSingleton(); // }); // } } }