using Device; using EEMSMain.Data; using EEMSMain.Views; using GeneralData; using GlobalData; using Prism.Ioc; using System.IO; using System.Windows; using UICommon.CommonContainer; namespace EEMSMain; /// /// Interaction logic for App.xaml /// public partial class App : PrismApplication { protected override Window CreateShell() { return Container.Resolve(); } protected override void RegisterTypes(IContainerRegistry containerRegistry) { containerRegistry.Register(); containerRegistry.RegisterSingleton(); containerRegistry.RegisterSingleton(); } protected override IModuleCatalog CreateModuleCatalog() { return new DirectoryModuleCatalog() { ModulePath = Path.Combine(Environment.CurrentDirectory, "Modules") }; } } public class CommonContainer(IRegionManager regionManager, IModuleManager moduleManager, ContainerManager containerManager) : ICommonContainer { private const string _MainReginName = "MainRegion"; string ICommonContainer.MainReginName => _MainReginName; void ICommonContainer.AddModule(string name) { moduleManager.LoadModule(name); } void ICommonContainer.AddNavigation(ContainerInfo containerInfo) { if (containerInfo.IsHidden) return; App.Current.Dispatcher.Invoke(() => { containerManager.Containers.TryAdd(containerInfo.Index, containerInfo); }); } void ICommonContainer.RequestNavigation(string name) { regionManager.RequestNavigate(_MainReginName, name); } }