72 lines
2.7 KiB
C#
Raw Normal View History

2025-08-15 15:25:44 +08:00
using System.Windows;
using DI_Electrical.Helper;
using DI_Electrical.Services;
using DI_Electrical.ViewModels;
using DI_Electrical.Views;
using DI_Electrical.Views.Dialog;
using DI_Electrical.Views.Dialog.DialogSignalManagements;
using Prism.Events;
using Prism.Ioc;
using Prism.Services.Dialogs;
using Prism.Unity;
using Unity;
namespace DI_Electrical
{
/// <summary>
/// App.xaml 的交互逻辑
/// </summary>
public partial class App : PrismApplication
{
protected override Window CreateShell()
{
return Container.Resolve<MainWindow>();
}
protected override void InitializeShell(Window shell)
{
var login = Container.Resolve<Login>();
login.ShowDialog();
if (GlobalObject.userInfo == null)
{
Application.Current?.Shutdown();
return;
}
var project = Container.Resolve<Project>();
project.ShowDialog();
if (GlobalObject.curProject == null)
{
Application.Current?.Shutdown();
return;
}
base.InitializeShell(shell);
}
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterForNavigation<MainWindow, MainWindowViewModel>();
containerRegistry.RegisterForNavigation<Login, LoginViewModel>();
containerRegistry.RegisterForNavigation<Config, ConfigViewModel>();
containerRegistry.RegisterForNavigation<Project, ProjectViewModel>();
containerRegistry.RegisterDialog<DialogTest, DialogTestViewModel>();
containerRegistry.RegisterDialog<DialogSignalManagement, DialogSignalManagementViewModel>();
containerRegistry.RegisterDialog<DialogSignalNotice, DialogSignalNoticeViewModel>();
containerRegistry.RegisterDialog<DialogSignalPropertyhisAndLogs, DialogSignalPropertyhisAndLogsViewModel>();
containerRegistry.RegisterDialog<DialogSignalSelect, DialogSignalSelectViewModel>();
containerRegistry.RegisterDialog<DialogInput, DialogInputViewModel>();
containerRegistry.Register<IDialogService, DialogService>();
containerRegistry.RegisterSingleton<IEventAggregator, EventAggregator>();
containerRegistry.RegisterSingleton<HttpService>();
containerRegistry.RegisterSingleton<ConfigService>();
containerRegistry.RegisterSingleton<LoginService>();
containerRegistry.RegisterSingleton<UserService>();
containerRegistry.RegisterSingleton<DataItemService>();
containerRegistry.RegisterSingleton<WireGroupService>();
}
}
}