The ModuleManager.LoadModule(“moduleName”) method is used to load modules on demand. Executing this method calls the Initialize method of the module you are trying to load and any modules
that it has dependencies on.
What do you mean by “activate a module”?
If you want to call the Initialize method more than once, I would not recommend you to do this. The purpose of it is to be called only once during the module's loading process, to perform
module configuration and set up.
If your purpose is performing a certain functionality of your module, what you could do is have your on demand modules’ initializers classes subscribe to an event in the
EventAggregator. Then you can publish that same event in the event aggregator to perform your action.
The Composite Application Library provides several ways to implement loosely coupled communication among different modules. The following sections in the
Prism-v2 documentation give some more light on these:
How to: Create and Publish Events
How to: Subscribe and Unsubscribe to Events
How to: Create Globally Available Commands
How to: Create Locally Available Commands
For more information about module loading you can the following sections in the help of
Module: Technical Concept
Modularity Quickstarts for Silverlight/WPF
How To: Load Modules on Demand
Please let me know if this helps.