internal IModalWindow InitModalWindow(IModalWindow popup, IWorkItem workItem, ModalOptions metadata) { if (metadata == null) { metadata = workItem.Configuration.GetOption <ModalOptions>(); } global::Prism.Regions.RegionManager.SetRegionManager(popup.GetRegionHolder(), global::Prism.Regions.RegionManager.GetRegionManager(Application.Current.MainWindow)); global::Prism.Regions.RegionManager.UpdateRegions(); popup.WindowStartupLocation = metadata.WindowStartupLocation; if (!metadata.Size.IsEmpty) { popup.Width = metadata.Size.Width; popup.Height = metadata.Size.Height; } popup.ResizeMode = metadata.ResizeMode; popup.Title = workItem.WorkItemName; popup.Closing += (o, args) => ModalWindowClosing(workItem, args); return(popup); }