棱镜模块中的区域

时间:2014-07-16 15:06:00

标签: c# wpf prism mef modularity

寻找在模块中注册区域的方法。 我正在使用最新的PRISM和MEF。

还使用ViewExport自动填充视图 (显示在这里:: How are Views injected into the UI using PRISM and MEF?

当弹出添加“AutoPopulateExportedViewsBehavior”错误时:

  

调用Attach方法后,无法设置Region属性。

MyMefBootstrapper.cs

protected override IRegionBehaviorFactory ConfigureDefaultRegionBehaviors()
{
    var factory = base.ConfigureDefaultRegionBehaviors();
    factory.AddIfMissing("AutoPopulateExportedViewsBehavior", typeof(AutoPopulateExportedViewsBehavior));

    return factory;
}

Shell.xaml

<Window ...>
    <ContentControl Name="MainRegion" cal:RegionManager.RegionName="{x:Static inf:RegionNames.MainRegion}" />
</Window>

ModuleX.xaml

<UserControl ...>
        <Viewbox>
            <Grid ...>

                <ContentControl cal:RegionManager.RegionName="HomeScreen_LeftSide" />
                <ContentControl cal:RegionManager.RegionName="HomeScreen_RightSide" />

            </Grid>
        </Viewbox> 
</UserControl>

解决方案的要点是将一个contentcontrol添加到管理主页(来自模块)的shell。模块本身可以包含其他模块/视图。

这种架构有什么好的解决方案吗?

0 个答案:

没有答案
相关问题