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();
}
}
}