Shell as WorkItem
Our team is designing a smart client application that behaves much like a browser. We want to provide a tabbed browsing experience for the users and we want a CTRL+N style function. That is, we want a user to be able to “pop open” a new browser and have the current window move from the old window to the new one. Great… easy enough to handle in a traditional application by changing the .MdiParent property of the current view (mdi child windows form).
So how would this work when using CAB? Trying to solve this design problem has led me to wonder, “why not just create a ‘Browser’ work item”?
This, in turn, has led me to the theory that the “Shell” concept in CAB is useless for our purposes. We can and should register our UI “plug-in” points as a browser WorkItem. Child work items for each module will then be loaded as new “Browser” WorkItems are created using the default IWorkItemTypeCatalogService.
Post a Comment