文章目录
前言
最近使用WPF开发 准备学习一下Prism框架 后面的项目打算去使用Prism框架,现在先学习使用一下他的导航,现在是简单使用,后续会慢慢的进行扩展
一、Prism简介
Prism是用于在WPF、Windows 10 UWP和Xamarin Forms中构建松散耦合、可维护和可测试的XAML应用程序的开源框架。Prism提供了包括MVVM、依赖注入、命令和事件聚合器等设计模式,这些设计模式有助于编写效果良好且可维护的XAML应用程序
二、Prism安装
1.NuGet进行安装
我这里就直接安装了Prism.Unity,由于Prism.Unity依赖于Prism.Wpf,因此安装Prism.Unity后不需要再安装Prism.Wpf和Prism.Core,直接一步到位
2.扩展安装
安装扩展 Prism Template Pack
安装这个扩展可以直接在创建项目的时候创建Prism框架,暂时先不用。还有一个自动填写属性的功能
三、区域导航(Navigation)
现在用Prism中的导航 实现下面功能
点击不同的按钮切换到不同的视图。下面开始进行
修改App.xaml
添加属性 xmlns:prism=“http://prismlibrary.com/”>
将顶级元素Application修改为prism:PrismApplication。
去除启动属性StartupUri="MainWindow.xaml”。
修改App后台代码
在App后台代码中继承PrismApplication,继承完成之后必须要重写2个方法,CreateShell和RegisterTypes
CreateShell:创建主窗口对象
RegisterTypes:进行IOC容器管理类型的注册
(App类型在继承了PrismApplication类后可能会提示错误,需要重新生成一下解决方案)
项目结构
先看一下项目结构
这里A视图和B视图为切换视图
进行注册导航
在App后台代码中进行注册导航
使用导航
在MainWindowViewModel中去使用导航,这就是全部代码了
ViewModelLocator视图模型定位器
注意在MainWindowView中的后台代码 是没有写this.DataContext的,这里用到的是
prism:ViewModelLocator.AutoWireViewModel="True"
这个叫做ViewModelLocator用于以标准命名约定的方式将视图的DataContext绑定到ViewModel的实例
具体可以参考这篇文章:Prism视图模型定位器
设置Region容器
通过prism:RegionManager.RegionName在窗体的xaml代码中,将要展示Region内容的容器控件设置区域名称
四、示例代码
https://github.com/yqyq666/Prism1
标签:安装,App,视图,Prism,WPF,导航,代码 From: https://blog.csdn.net/m0_46557714/article/details/143905001