I am building an add-in and I have several different windows, which I open with the code below. This works fine. However, how can I create the same window n times?
UID dockWinID = new UIDClass();
dockWinID.Value = ThisAddIn.IDs.MyWindow;
IDockableWindow dockWindow = ArcMap.DockableWindowManager.GetDockableWindow(dockWinID);
dockWindow.Show(true);
-
What's the use case? Why do you want to do this?blah238– blah2382012年12月15日 06:03:16 +00:00Commented Dec 15, 2012 at 6:03
-
Maybe something similar to attribute table windows? They are dockable. AFAIK, these windows are implemented as IDataWindows. I wonder if GenericWindow could help here, though it seems to be (uncomfortably) tied to ActiveX.Petr Krebs– Petr Krebs2012年12月16日 11:00:51 +00:00Commented Dec 16, 2012 at 11:00
1 Answer 1
No, all add-in framework types are singletons (source), meaning they are only intended to exist one at a time. I am not sure but I think the same is also true for traditional COM dockable windows.
answered Dec 15, 2012 at 3:30
-
Yes, the same holds true for the classic IDockableWindowDef implementations.Petr Krebs– Petr Krebs2012年12月16日 10:55:20 +00:00Commented Dec 16, 2012 at 10:55
-
Okay. As a workaround I manage the windows by myself with the WindowInteropHelper. I lost all the benefits like docking in ArcMap, but that was never important for me.steffan– steffan2012年12月21日 17:12:06 +00:00Commented Dec 21, 2012 at 17:12
Explore related questions
See similar questions with these tags.
lang-cs