WPF中实现依赖注入

  1. 将App.xaml中的StartupUri删去
  2. 调整App.xaml.cs,重写OnStartup方法
public partial class App : Application
    {
        ServiceProvider serviceProvider { get; set; }

        protected override void OnStartup(StartupEventArgs e)
        {
            var service=new ServiceCollection();

            ConfigurationService(service);

            serviceProvider = service.BuildServiceProvider();

            var mainView = serviceProvider.GetRequiredService<MainWindow>();
            mainView.Show();

            base.OnStartup(e);
        }

        private void ConfigurationService(ServiceCollection service)
        {
            //注入
            service.AddTransient(typeof(MainWindow));
        }
    }
posted @ 2022-01-10 13:14  Hey,Coder!  阅读(984)  评论(0编辑  收藏  举报