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) { try { moduleManager.LoadModule(name); } catch { } } 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); } }