Exemple #1
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            Application.Current.DispatcherUnhandledException +=
                (sender, args) =>
                {
                    MessageBox.Show(args.Exception.Message, "Error");
                    args.Handled = true;
                };

            ContainerBuilder builder = new ContainerBuilder();

            builder.RegisterModule<CoreModule>();
            builder.RegisterModule<ViewsModule>();
            builder.RegisterModule<DataAccessModule>();
            builder.RegisterModule<PrismModule>();

            builder.RegisterType<LayoutAnchorablePaneRegionAdapter>().AsSelf();
            builder.RegisterType<LayoutDocumentPaneRegionAdapter>().AsSelf();
            container = builder.Build();

            ConfigureDefaultRegionBehaviors();
            ConfigureRegionAdapterMappings();

            container.RegisterAllFuncsAsOwned();

            IServiceLocator serviceLocator = container.Resolve<IServiceLocator>();

            ServiceLocator.SetLocatorProvider(() => serviceLocator);

            IAppController appController;

            using (ILifetimeScope scope = container.BeginLifetimeScope())
            {
                appController = scope.Resolve<IAppController>();
            }

            appController.Home();
        }