Hi there,
Usually, a view that is being shown through an InteractionRequest is somewhat related to its "host" view, and this includes their corresponding view models. You could think of the "popup view" as an "extension" of the host view. Hence, as described by Agustin, using anInteractionRequest for views / view modules that you want to reuse in different modules (while maintaining them decoupled) could not be straight forward. This is mainly because you need to use the "popup view" in the "host view's"XAML code, and your custom Notification object passed to theInteractionRequest cannot be exported in the container through an interface.
Although there might be some workarounds to be able to decouple the popup view in a different module, I believe usingRegionPopupBehaviors might be a more suitable approach. Basically, this behavior allows you to register a region that, when a view is injected in it, it will be shown in a new window. As this still acts like a common region defined in aRegionManager, you could use it like any other region. For example, instead of raising anInteractionRequest you could just add the view to the region through theAdd method and the view should be shown in a new window. However, in this case you would be able to decouple the view / view model from the "host," as you will not be limited byXAML nor by the Notification class, thus allowing you to put them in a decoupled separated module. The drawback is that you don't have a built-in functionality to pass information from the "host" view model to the popup, but this could be achieved for example by using the EventAggregator, adding the popup view to the popup region through a navigation request (where you can pass parameters,) etc.
The RegionPopupBehaviors can be found in the Stock Trader Reference Implementation that is shipped withPrism.
I hope you find this useful,
Damian Cherubini
http://blogs.southworks.net/dcherubini