Оболочка не знает, какой вид отображать.Оболочка предлагает только регион:
<Window x:Class="PCRS.Client.Shell"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Regions="clr-namespace:Microsoft.Practices.Prism.Regions;assembly=Microsoft.Practices.Prism" >
<Grid>
<ContentControl Regions:RegionManager.RegionName="MainRegion"/>
</Grid>
</Window>
Модуль должен зарегистрировать представление для региона, в котором он должен быть представлен:
[Module(ModuleName="MyModule")]
public class MyModule : IModule
{
public void Initialize( )
{
RegionManager.RegisterViewWithRegion( "MainRegion", typeof( MyView ) );
}
}
Менеджер региона теперь заботится о размещениивид в указанный регион.
Если у вас есть два вида, используемых в разных приложениях, вы можете зарегистрировать MyView1 в регион с именем MyView1Region и MyView2 в регион с именем MyView2Region:
RegionManager.RegisterViewWithRegion( "MyView1Region", typeof( MyView1 ) );
RegionManager.RegisterViewWithRegion( "MyView2Region", typeof( MyView2 ) );
Теперь выможете решить, назвав регион в оболочке, какой вид использовать.
Но я думаю, что вы не должны использовать PRISM или вам следует переосмыслить свой дизайн.PRISM сделан для того, чтобы отделить модули приложения и не иметь единственной оболочки, которая знает весь состав приложения.Использование PRISM позволяет модулям решать, где размещать свои представления в пользовательском интерфейсе.Если вы хотите, чтобы эта способность принимать решения находилась внутри оболочки, вам не нужна ПРИЗМА.Для вас более вероятно использование стандартного шаблона MVVM.