当前位置:主页 > 软件编程 > .NET代码 >

WPF框架Prism中View Injection用法介绍

时间:2022-12-13 09:30:31 | 栏目:.NET代码 | 点击:

View

View通常指的是, 我们定义的页面, 而在模块化的系统当中, 我们往往称之为用户控件(UserControl)。
对于模块化系统而言, 每个模块当中都有N个用户控件组成, 然后模块向区域当中注册视图。

View Injection

在介绍Region章节当中所讲到, RegionManager的功能:

这意味着, 我们可以在模块当中为区域指定视图, 这个时候,我们就可以通过依赖注入的方式,使用IRegionManager接口来向指定区域注册视图:

public class ModuleAModule : IModule
{
    private readonly IRegionManager _regionManager;

    public ModuleAModule(IRegionManager regionManager)
    {
        _regionManager = regionManager;
    }

    public void OnInitialized(IContainerProvider containerProvider)
    {
        _regionManager.RegisterViewWithRegion("ContentRegion", typeof(ViewA));
    }

    public void RegisterTypes(IContainerRegistry containerRegistry)
    {
            
    }
}

当启动页当中定义了ContentRegion区域的时候, 将呈现ViewA。

区域访问

可以对已定义的区域进行 Add / Remove/ Activate/ Deactivate 等操作。如下所示, 关于IRegion接口:

代码定义如下所示:

Iregion region = _regionManager.Regions[“RegionName“];
region.Add(viewInstance);
region.Remove(viewInstance);
region.Activate(viewInstance);
region.Deactivate(viewInstance);

您可能感兴趣的文章:

相关文章