WPF-Prism Region使用

  Region:

    区域,我的理解,就是窗体上的一部分地方,不是整个窗体。所以区域里都是用户控件UserControl,就是为了解决在窗体上显示一个自定义的公用的控件的。

  共两种用法:

  1、原始的方法(不借助prism的依赖注入),用IRegionManager接口,来完成区域的注册和设置。

    注册代码如下:

manager.RegisterViewWithRegion("HeaderRegion", typeof(Header));
manager.RegisterViewWithRegion("LeftRegion", typeof(MainLeft));
manager.RegisterViewWithRegion("MainRegion", typeof(MainRight));

上面的Header、MainLeft、MainRight是三个UserControl,这里先把他注册并命名,供设置用

设置代码:

RegionManager.SetRegionName(HeaderCtrl, "HeaderRegion");
RegionManager.SetRegionName(MainLeftCtrl, "LeftRegion");
RegionManager.SetRegionName(MainRightCtrl, "MainRegion");

依据上面的区域名称,把他们设置到要显示的控件上。HeaderCtrl是控件的名称。如图:

 

 上图中prism:RegionManager.RegionName="LeftRegion”,这个也是设置要显示区域的,等同于上面的SetRegionName方法。还有图上的ContentRegion是第2种方法用到的,这里不用管。

  2、借助prism的依赖注入,来完成区域Region的注册和设置。

  1)、首先需要在app文件下的RegisterTypes方法中,将需要导航的三个(Header、MainLeft、MainRight)用户控件注册上,代码如下:    

containerRegistry.RegisterForNavigation<Header>("H");
containerRegistry.RegisterForNavigation<MainLeft>();
containerRegistry.RegisterForNavigation<MainRight>();

第一个我加了个重命名,可以不加。然后在需要显示的地方加下面代码,如下两张图

      

把MainLeft控件加到名为ContentRegion的区域中

 

posted @   卡萨丁·周  阅读(181)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2018-08-29 Winform下编译Dev控件时提示license.licx文件错误
点击右上角即可分享
微信分享提示