using System.Windows; using DI_Electrical.ViewModels; using DI_Electrical.Views; using Prism.Events; using Prism.Ioc; using Prism.Services.Dialogs; using Prism.Unity; using SWS.Commons; using SWS.Service; using SWS.WPF.ViewModels; using SWS.WPF.Views; using Unity; namespace DI_Electrical { /// /// App.xaml 的交互逻辑 /// public partial class App : Prism.Unity.PrismApplication { protected override Window CreateShell() { return GlobalObject._prismContainer.Resolve(); } protected override void InitializeShell(Window shell) { var login = GlobalObject._prismContainer.Resolve(); login.ShowDialog(); if (GlobalObject.userInfo == null) { Application.Current?.Shutdown(); return; } var project = GlobalObject._prismContainer.Resolve(); project.ShowDialog(); if (GlobalObject.curProject == null) { Application.Current?.Shutdown(); return; } base.InitializeShell(shell); } protected override void RegisterTypes(IContainerRegistry containerRegistry) { //GlobalObject._prismContainer = new DryIocContainerExtension(); GlobalObject._prismContainer = (IContainerExtension)containerRegistry; GlobalObject._prismContainer.RegisterForNavigation(); GlobalObject._prismContainer.RegisterForNavigation(); GlobalObject._prismContainer.RegisterForNavigation(); GlobalObject._prismContainer.RegisterForNavigation(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.RegisterDialog(); GlobalObject._prismContainer.Register(); GlobalObject.container = new UnityContainer(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); GlobalObject.container.RegisterSingleton(); } } }