немного нового для Prismv4 и MEF.
Я прошел QuickStarts и попытался объединить два из них вместе, но я не могу заставить его работать.
Во-первых,У меня есть Bootstrapper для загрузки окна оболочки.
public sealed class ClientBootstrapper : MefBootstrapper
{
protected override void ConfigureAggregateCatalog()
{
base.ConfigureAggregateCatalog();
//Add this assembly to export ModuleTracker (Shell is in this Assembly).
AggregateCatalog.Catalogs.Add(new AssemblyCatalog(Assembly.GetExecutingAssembly()));
}
protected override DependencyObject CreateShell()
{
return Container.GetExportedValue<Shell>();
}
protected override void InitializeShell()
{
base.InitializeShell();
Application.Current.MainWindow = (Window)Shell;
Application.Current.MainWindow.Show();
}
}
Это работало нормально.Было открыто окно Shell и появилось приятное сообщение Hello World.Затем я попытался создать регион внутри окна оболочки, чтобы я мог загрузить вид в этот регион.Я даже не понял, как это работает, чтобы даже взглянуть на перемещение его во внешнюю сборку.
[ModuleExport(typeof(HelloWorldModule), InitializationMode = InitializationMode.OnDemand)]
public class HelloWorldModule : IModule
{
[Import(AllowRecomposition = true)]
private IRegionViewRegistry regionViewRegistry;
[ImportingConstructor()]
public HelloWorldModule(IRegionViewRegistry registry)
{
this.regionViewRegistry = registry;
}
public void Initialize()
{
regionViewRegistry.RegisterViewWithRegion("PrimaryRegion", typeof(Views.HelloWorldView));
}
}
Представление HelloWorld (просто простой UserControl, содержащий TextBlock)загружается в регион!Я думаю, что я немного потерял здесь, как загрузить в моих регионах.