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的区域中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2018-08-29 Winform下编译Dev控件时提示license.licx文件错误