The approach you are suggesting above is not the best in my opinion, as you would be tight coupling the modules. If I understand your scenario correctly, you want to add some items from different modules to your
“Control Panel”. A possible approach to do this, could be using an
EventAggregator event, and subscribe to it in each of the modules that should add something to the Control Panel. Then, each of them could
add the required views to the “Control Panel” region.
As you explain the module might or might no have been loaded. Before publishing the event you should load the modules that have not been loaded. To get this done you can use code like this:
The code above will only load modules that have not been loaded, and modules that already have will suffer no side effects.
foreach (string m in ModuleStrings)
You can read more about loading modules on demand
Please let me know if this helps.