![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
WPF Prism(8.0)
文章平均质量分 80
prism框架学习记录
heater404
这个作者很懒,什么都没留下…
展开
-
WPF Prism框架介绍
一、什么是PrismPrism是一个用于在 WPF、Xamarin Form、Uno 平台和 WinUI 中构建松散耦合、可维护和可测试的 XAML 应用程序框架。二、官方地址https://github.com/PrismLibrary/Prism基于Prism的VisualStudio扩展包模板: Prism Template Pack,下载它后可以快速创建基于Prism的项目。三、Prism框架内容框架中包括 MVVM、依赖注入、Command、Message Event、导航、弹窗等功能原创 2021-03-01 16:58:19 · 38932 阅读 · 6 评论 -
WPF Prism(七)内置IOC
一 内置IOC有三种生命周期Transient:瞬时生命周期,transient服务在每次被请求时都会被创建一个新的对象。这种生命周期比较适用于轻量级的无服务状态。Scoped:scoped生命周期的服务是每次web请求被创建,局部单例对象,在某个局部内是同一个对象(作用域单例,本质是容量单例);一次请求内是一个单例对象,多次请求则多个不同的单例对象。Singleton:Singleton生命能够周期服务在第一被请求时创建,在后续的每个请求都会使用同一个实例。如果你的应用需要单例服务,推荐的做法是交原创 2022-03-08 16:53:46 · 1166 阅读 · 0 评论 -
WPF Prism(六)Dialog
一、什么是Dialog对话框实际上是我们应用程序经常用到得一个功能,类如:Show、Show Dialog。可以弹出一个我们指定得窗口,仅此而已那么在Prism当中,Dialog指的什么?Prism提供了一组对话服务,封装了常用的对话框组件的功能,例如:RegisterDialog/IDialogService (注册对话及使用对话)打开对话框传递参数/关闭对话框返回参数回调通知对话结果二、创建DialogDialog其实也是一组用户控件,我们可以创建一个子模块,然后不需要继承IModul原创 2021-03-04 20:01:18 · 10706 阅读 · 8 评论 -
WPF Prism(五)Navigation
一、使用场景在普遍的业务场景当中,必不可少的是页面切换,而Prism就可以使用Navigation功能来进行页面导航,在不同的场景当中会有各种用法,例如在切换页面验证、传递参数、返回上一页、返回下一页等功能。二、导航的使用2.1 注册显示区域(region)这个在前面章节已做详细介绍不再赘述。2.2 注册导航页面(View)之前的介绍中我们一般是将一个View指定到一个region中。而现在我们需要将多个View注册到导航中。例如我们现在有两个子模块(ViewAModule和ViewBModul原创 2021-03-03 20:01:32 · 7314 阅读 · 6 评论 -
WPF Prism(四)MVVM
一、前言在阅读本篇文章之前,最好有ICommand和INotifyPropertyChanged等基础知识。二、BindableBase#mermaid-svg-0bzyjbiW53A9v0ez .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-0bzyjbiW53A9v0ez .label text{fil原创 2021-03-03 14:24:31 · 5930 阅读 · 3 评论 -
WPF Prism(三)ViewModelLocator
一、命名约定在Prism当中,你可以基于命名约定,便能够轻松的将View和ViewMode建立关联。前提是你已经为项目创建了Views和ViewModels文件夹(这里就突出了使用模板创建的好处了)。例如:你的页面为ViewA,那么对应的ViewModel名称为ViewAViewModel。 你的页面为HeaderView,那么对应的ViewModel名称为HeaderViewModel。二、允许View自动装配ViewModel<UserControl x:原创 2021-03-02 15:32:25 · 5785 阅读 · 4 评论 -
WPF Prism(二)Module
一、什么是模块(Module)本质上来说,对于一个应用程序而言,特定功能的所有View、Logic、Service等都可以独立存在。那么我们称每一个独立的功能我们都可以称之为模块。通常情况下,我们在一个项目当中的结构是这样的:所有的模块都在一个项目中,这使得应用程序当中,我们难以区分单独的模块,它们似乎变成了一个整体。所以,当我们开始考虑划分模块之间的关系的时候,并且采用新的模块化解决方案,它的结构将变成如下:该项目包含了一个启动页,并且在启动页当中,我们划分好了对应的区域。这个时候,我们便可以原创 2021-03-02 11:58:04 · 7098 阅读 · 2 评论 -
WPF Prism(一)Region
一、什么是Region在Prism当中,一个页面我们可以不再为其固定显示的内容,而这种概念变成了区域(Region)划分的概念。将页面显示的区域划分成N个Region,每一个Region将动态分配区域。它将负责承担我们的UI组件或者控件。二、RegionManager类#mermaid-svg-ESqYDR4gwYvQmG2H .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)原创 2021-03-01 20:53:37 · 13635 阅读 · 1 评论