private IStudioControl OpenControl(string id, Type ctrlType, object tag, Func <IStudioControl> getControl) { if (ctrlType == null) { throw new ArgumentNullException(nameof(ctrlType)); } if (getControl == null) { throw new ArgumentNullException(nameof(getControl)); } id = id.ToLowerInvariant(); var wnd = _contents.SafeAdd(Tuple.Create(id, ctrlType), key => { var docWnd = new ContentDocumentWindow { Tag = tag, Control = getControl(), Name = "Pane" + id.Replace("-", "") + ctrlType.Name, CanClose = !(tag is StrategyInfo) }; DockSite.DocumentWindows.Add(docWnd); return(docWnd); }); ((DockingWindow)wnd).Activate(); return(wnd.Control); }
private IStudioControl OpenControl(string id, Type ctrlType, object tag, Func<IStudioControl> getControl) { if (ctrlType == null) throw new ArgumentNullException(nameof(ctrlType)); if (getControl == null) throw new ArgumentNullException(nameof(getControl)); id = id.ToLowerInvariant(); var wnd = _contents.SafeAdd(Tuple.Create(id, ctrlType), key => { var docWnd = new ContentDocumentWindow { Tag = tag, Control = getControl(), Name = "Pane" + id.Replace("-", "") + ctrlType.Name, CanClose = !(tag is StrategyInfo) }; DockSite.DocumentWindows.Add(docWnd); return docWnd; }); ((DockingWindow)wnd).Activate(); return wnd.Control; }