79 lines
3.4 KiB
C#
79 lines
3.4 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// App.xaml 的交互逻辑
|
|
/// </summary>
|
|
public partial class App : Prism.Unity.PrismApplication
|
|
{
|
|
protected override Window CreateShell()
|
|
{
|
|
return GlobalObject._prismContainer.Resolve<MainWindow>();
|
|
}
|
|
|
|
protected override void InitializeShell(Window shell)
|
|
{
|
|
var login = GlobalObject._prismContainer.Resolve<Login>();
|
|
login.ShowDialog();
|
|
if (GlobalObject.userInfo == null)
|
|
{
|
|
Application.Current?.Shutdown();
|
|
return;
|
|
}
|
|
var project = GlobalObject._prismContainer.Resolve<Views.Project>();
|
|
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<MainWindow, MainWindowViewModel>();
|
|
GlobalObject._prismContainer.RegisterForNavigation<Login, LoginViewModel>();
|
|
GlobalObject._prismContainer.RegisterForNavigation<Config, ConfigViewModel>();
|
|
GlobalObject._prismContainer.RegisterForNavigation<Views.Project, ViewModels.ProjectViewModel>();
|
|
GlobalObject._prismContainer.RegisterDialog<DialogTest, DialogTestViewModel>();
|
|
GlobalObject._prismContainer.RegisterDialog<DialogSignalManagement, DialogSignalManagementViewModel>();
|
|
GlobalObject._prismContainer.RegisterDialog<DialogSignalNotice, DialogSignalNoticeViewModel>();
|
|
GlobalObject._prismContainer.RegisterDialog<DialogSignalPropertyhisAndLogs, DialogSignalPropertyhisAndLogsViewModel>();
|
|
GlobalObject._prismContainer.RegisterDialog<DialogSignalSelect, DialogSignalSelectViewModel>();
|
|
GlobalObject._prismContainer.RegisterDialog<DialogAllOutputSignal, DialogAllOutputSignalViewModel>();
|
|
GlobalObject._prismContainer.RegisterDialog<DialogAssociatedSignal, DialogAssociatedSignalViewModel>();
|
|
GlobalObject._prismContainer.RegisterDialog<DialogInput, DialogInputViewModel>();
|
|
|
|
GlobalObject._prismContainer.Register<IDialogService, DialogService>();
|
|
|
|
GlobalObject.container = new UnityContainer();
|
|
GlobalObject.container.RegisterSingleton<IEventAggregator, EventAggregator>();
|
|
GlobalObject.container.RegisterSingleton<HttpService>();
|
|
GlobalObject.container.RegisterSingleton<ConfigService>();
|
|
GlobalObject.container.RegisterSingleton<LoginService>();
|
|
GlobalObject.container.RegisterSingleton<UserService>();
|
|
GlobalObject.container.RegisterSingleton<ProjectService>();
|
|
GlobalObject.container.RegisterSingleton<DataItemService>();
|
|
GlobalObject.container.RegisterSingleton<WireGroupService>();
|
|
|
|
}
|
|
}
|
|
}
|