public static Task <WindowInjectionResult> RegisterOrShowOrActivate(this IModuleWindowManager manager, string regionName, IModule module, object parameter = null) { Verifier.VerifyManager(manager); Verifier.VerifyModule(module); if (manager.GetModule(regionName, module.Key) == null) { manager.Register(regionName, module); } return(ShowOrActivate(manager, regionName, module.Key, parameter)); }
public static Task <WindowInjectionResult> ShowOrActivate(this IModuleWindowManager manager, string regionName, string key, object parameter = null) { Verifier.VerifyManager(manager); if (manager.GetModule(regionName, key) == null) { ModuleInjectionException.ModuleMissing(regionName, key); } if (!manager.IsShown(regionName, key)) { return(manager.Show(regionName, key, parameter)); } var res = ((IModuleManagerImplementation)manager).GetWindowInjectionResult(regionName, key); manager.Activate(regionName, key); return(res); }