I originally posted this on the new Silverlight forum, but was told that I should post my question here. I am using Silverlight 5, but only saw a Silverlight4/Prism 4 topic, which is where I have posted this question.
A similar question was asked on the Silverlight forum in 2011, but the link does not contain definitive answers to my questions. The old link named, "How to Register a ChildWindow with PRISM since it is not a region but a pop up", is located athttp://social.msdn.microsoft.com/Forums/en-US/silverlightwcf/thread/4c069cd1-3a44-476b-9e8c-64473af65cc8/.
I have a sophisticated Child Window form wizard that has many tab views (~20+).
- Each tab view has its own ViewModel.
- The different views are required to handle different user flows.
- All flows use two common tabs and typically two additional tabs.
- The additional tabs are determined by the user's choices.
- Most users will use 1 or 2 wizard flows max.
The form wizard is currently implemented as part of the main application. It is adding substantially to the download size. The main application functionality is used about 90-95% of the time. The wizard is used about 5-10% of the time, and only about 20% of the wizard functionality is used by any user during a session. Prism seems like a good fit to strip out the wizard functionality and make it available on demand.
- What I would like to do is to create a XAP file that contains the Child Window wizard and 2 tabs that are used for all use models.
- I would like to download separate tab controls (in their own XAP files) on demand based upon the user's choices.
I have been working to understand the Prism/MEFBootstrapper methodology. I have simple module regions working in the Shell. However, I am at a loss as to how one registers and invokes a Child Window in a separate XAP file.
I will also need the Child Window to load the different tabs from the appropriate XAP files, but I am assuming that the implementation will follow the pattern of inserting regions into the main Shell application. Is my assumption correct adding regions to tabs on the Child Window?
Please let me know of any links, examples, or books that might cover this particular subject in more detail.
Colin Blair, on the Silverlight Forum, replied as follows to my question on that forum.
"As for registering and invoking a child window, that would probably involve using the base ChildWindow class in the caller in combination with an interface that can be used by the caller and implemented by the Child Window itself. That way there are no direct references from the caller to the Child WIndow's assembly."
I am new to Prism, and do not have enough knowledge to act upon Colin's suggestion. Any tips or suggestions would be greatly appreciated...
I am using Mark Seemann's Dependency Injection in .NET book as my primary reference, but have many chapters to go to complete his book.
Thanks...