WPF框架Prism中View Injection用法介绍

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接口:

WPF框架Prism中View Injection用法介绍_第1张图片

代码定义如下所示:

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

到此这篇关于WPF框架Prism中View Injection用法介绍的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(WPF框架Prism中View Injection用法介绍)