当前位置: 首页 > news >正文

WPF MVVM实战系列教程(六、Prism区域导航)

🧭 WPF MVVM入门系列教程

  • 一、MVVM模式介绍
  • 二、依赖属性
  • 三、数据绑定
  • 四、ViewModel
  • 五、命令和用户输入
  • 六、ViewModel案例演示

🍠 WPF MVVM进阶系列教程

  • 一、对话框
  • 二、数据验证
  • 三、使用依赖注入(Dependency Injection)
  • 四、ViewModel通信

⌨️ WPF MVVM实战系列教程

  • 一、Prism框架介绍
  • 二、使用Visual Studio 创建Prism项目
  • 三、创建Bootstrapper/启动器
  • 四、区域导航

区域(Region)

在Prism中,引入了一个新的概念,叫Region(区域)。

Region 可以理解为 WPF 界面上的 “占位容器”,可以把不同的 View(视图)动态加载到这个容器中,无需在 XAML 中硬编码绑定,这是 Prism 实现模块化、松耦合 UI 的关键。

 

image

假设我们定义了两个Region,分别为Region1和Region2。

我们可以动态加载View(视图)到这两个Region里。

 

肯定有小伙伴会问,在WPF中,Frame控件也可以实现导航的功能,

是的,所以这里我们对比一下Frame和Region的区别

对比维度Frame(WPF原生)Region(Prism)
核心定位 页面(Page)导航控件 任意View的动态加载/切换容器
支持的视图类型 仅支持Page类型 支持任意UIElement(UserControl、Grid等)
导航方式 基于XAML文件路径(如frame.Navigate(new Uri("Page1.xaml", UriKind.Relative)) 基于View名称/类型(松耦合,无硬编码路径)
模块化支持 弱,需手动管理页面与模块的关联 强,与Prism Module深度集成,天然支持模块化
生命周期 仅简单的导航事件(Navigated、Navigating) 完整的导航生命周期(INavigationAware接口)
多视图管理 仅支持单页面显示,无多视图激活/切换机制 支持多视图(TabControl/ItemsControl作为Region),可激活/停用指定View
依赖注入 原生不支持,需手动实例化Page并传参 与Prism容器(Unity/DryIoc)深度集成,自动注入ViewModel/服务
参数传递 仅支持简单对象传参(Navigate的object参数) 支持强类型参数(NavigationParameters),可在生命周期中获取
复用性 页面实例默认每次导航重建(可手动缓存) 可通过IsNavigationTarget控制View实例复用

 

 

如何创建Region

1、引入Prism命名空间

1 xmlns:prism="http://prismlibrary.com/"

 

2、增加一个ContentControl

使用RegionManager.RegionName附加属性给区域命名

1 <ContentControl prism:RegionManager.RegionName="ContentRegion" />

 

完整代码如下所示

1 <Window x:Class="Regions.Views.MainWindow"
2         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4         xmlns:prism="http://prismlibrary.com/"
5         Title="Shell" Height="350" Width="525">
6     <Grid>
7         <ContentControl prism:RegionManager.RegionName="ContentRegion" />
8     </Grid>
9 </Window>

 

http://www.jsqmd.com/news/273593/

相关文章:

  • 盲盒式设计 VS 精准导航!宏智树 AI 让论文问卷告别 “无效数据” 陷阱
  • 收藏!大模型时代不焦虑,小白程序员轻松破局
  • 从零基础到网络安全专家:全网最全的网络安全学习路线
  • AI驱动的文献管理工具在论文引用标注方面展现出强大实用性
  • 2026年小型蒸汽锅炉推荐生产企业榜单:贯流式蒸汽锅炉/低氮冷凝蒸汽锅炉节能耐用型号怎么选? - 品牌推荐大师1
  • 论文引用标注的准确性可通过AI工具优化,从而提升文献管理质量
  • 在科研写作中,AI支持的论文引用标注功能可大幅节省文献整理时间
  • 零基础速通 breach1.0 靶机:基于蜜罐的网络安全防御保姆级实战教程
  • 借助AI技术优化论文引用标注,让文献整理过程更加轻松高效
  • 重庆助听器品牌哪家强?2026最新用户体验排行榜出炉! - 深度智识库
  • 网络安全等级保护:什么是网络安全等级保护?(非常详细)零基础入门到精通,收藏这一篇就够了
  • 高效管理学术文献的关键在于利用AI优化论文引用标注方式
  • 新型管道怎么选?2026年推荐这些供应商,管件管道实力厂家找哪家 - 品牌推荐师
  • 2025年国内有实力的尘埃粒子计数器工厂推荐榜,0.1um尘埃粒子计数器/激光尘埃粒子计数器/台式粒子计数器工厂排名 - 品牌推荐师
  • 论文引用标注的重要性不可忽视,AI工具能大幅提升文献管理效率
  • 2025 色谱耗材品牌 / 厂家大全:口碑榜 + 性价比排行,选型不再纠结 - 品牌推荐大师1
  • WPF MVVM实战系列教程(四、Prism中的依赖注入)
  • 专著多少字才能出版?
  • Qt的技巧笔记(一):Qt的QComboBox与自定义的枚举类型的遍历绑定
  • 现代AI工具在论文引用标注方面表现优异,极大简化文献管理流程
  • 发一篇SCI论文多少钱?
  • 全网最全网络安全入门指南,零基础从入门到精通,看这一篇就够了!_网络安全指南
  • 废旧织物回收箱远程监控管理系统方案
  • 2026如何评估厂房恒温恒湿工程承包商?技术资质与案例参考 - 品牌2025
  • Faker - 高效生成虚假测试数据
  • 博世的感知帝国:工业文明的隐形支配者
  • 不过ai 直接调用mcp方法 ClientSession, StdioServerParameters
  • 2026年 柔性压电传感器/柔性压力传感器厂家推荐榜单:高灵敏与高柔性兼备的智能传感解决方案 - 企业推荐官【官方】
  • 数据库DATABSE
  • 【开源-RAG排序】Rank4Gen 优化排序结果 提高答案生成质量