Prism框架的用法
今天,我向大家介绍一款WPF后台框架,以及,它的用法。
官网
https://prismlibrary.com/
Prism 框架是一个用于构建松耦合、可维护且可测试的 WPF 和 Xamarin.Forms 应用程序的开源框架。在 Prism 中,IContainerRegistry 接口用于注册和解析应用程序中的依赖项,从而实现依赖注入和反转控制。
下面我将简要介绍 IContainerRegistry 中的一些常用方法以及它们表示的含义:
RegisterSingleton:用于注册一个单例对象,该对象将在整个应用程序的生命周期内保持唯一实例。当需要确保全局只有一个实例时,可以使用这个方法注册对象。
Register:用于注册一个类型和其相应的实现,每次解析时都会创建一个新的实例。这个方法适合于需要多个实例的场景。
RegisterManySingleton:用于注册多个实例,并且这些实例都是单例的。这个方法适用于需要管理多个单例对象的场景。
RegisterMany:用于注册多个实例,每次解析时都会创建一个新的实例。这个方法适用于需要多个实例且这些实例不需要保持单例的场景。
RegisterScoped:用于注册一个类型和其相应的实现,每个作用域(scope)内会保持同一个实例,但不同作用域之间的实例是独立的。这个方法适用于需要在特定作用域内共享实例的场景,比如在 Web 应用中的请求作用域内共享实例。
RegisterInstance:用于注册一个已经存在的实例对象。这个方法通常用于注册外部提供的对象,而不是由容器自己创建的对象。
RegisterDialog:用于注册一个对话框,通常用于在应用程序中显示对话框或者模态窗口。
RegisterForNavigation:用于注册一个视图或页面以便导航到该视图或页面。这个方法通常用于设置应用程序的导航关系。
Prism框架的用法的更多相关文章
- WPF Step By Step 系列-Prism框架在项目中使用
WPF Step By Step 系列-Prism框架在项目中使用 回顾 上一篇,我们介绍了关于控件模板的用法,本节我们将继续说明WPF更加实用的内容,在大型的项目中如何使用Prism框架,并给予Pr ...
- 项目中使用Prism框架
Prism框架在项目中使用 回顾 上一篇,我们介绍了关于控件模板的用法,本节我们将继续说明WPF更加实用的内容,在大型的项目中如何使用Prism框架,并给予Prism框架来构建基础的应用框架,并且 ...
- WPF Prism框架下基于MVVM模式的命令、绑定、事件
Prism框架下的自定义路由事件和命令绑定 BaseCode XAML代码: <Button x:Class="IM.UI.CommandEx.PrismCommandEx" ...
- 在Prism 框架中,实现主程序与模块间 UI 的通信
背景: 在模块的UI中包含 TreeView 控件,在该树形控件的每一节点前面定义了一个复选框,如图 需求: 在两个不同的应用程序中使用该控件,而它在不同应用程序中的外观则并不一致,按照本例,即一个显 ...
- Prism框架研究(一)
从今天起开始写一个Prism框架的学习博客,今天是第一篇,所以从最基本的一些概念开始学习这个基于MVVM的框架的学习,首先看一下Prism代表什么,这里引用一下比较官方的英文解释来看一下:Prism ...
- Prism框架中加载类库中时其中第三方类dll提示无法加载程序集
Prism框架是采用一种依赖注入的方式动态加载程序集,能够在程序需要加载的时候将程序集注入到里面去,实现程序的热插拔效果,而且采用这种框架能够让我们进行一个大项目的独立开发,在最近的一个项目中在独立开 ...
- Prism框架在项目中使用
本文大纲 1.Prism框架下载和说明 2.Prism项目预览及简单介绍. 3.Prism框架如何在项目中使用. Prism框架下载和说明 Prism框架是针对WPF和Silverlight的MVVM ...
- Prism框架的Module(模块化)编程
Prism框架用的是新版本的,Prism7.1.关于其中的变动,感兴趣的参考https://www.cnblogs.com/hicolin/p/8694892.html 如何告诉Shell(我们的宿主 ...
- Prism框架实战——订餐软件
参考B站刘铁猛老师的订餐软件https://www.bilibili.com/video/av29782724?from=search&seid=6787438911056306128 环境: ...
- Prism框架的Regions使用
Prism框架的Regions,可以把用户控件.窗体等附加到主窗体指定的控件中. [实战1] 1.新建Prism Blank App(WPF) 项目:Demo0810 Views文件夹处,鼠标右键—— ...
随机推荐
- .NET Core开发实战(第5课:依赖注入:良好架构的起点)--学习笔记(下)
05 | 依赖注入:良好架构的起点 注册完毕之后,想替换某些组件的某些部分时,可以使用 Replace 和 RemoveAll services.AddSingleton<IOrderServi ...
- MySQL创建函数报错:1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled
创建函数时报错: 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaratio ...
- NC19885 [AHOI2009]CHESS 中国象棋
题目链接 题目 题目描述 在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮. 请问有多少种放置方法,中国像棋中炮的行走方式大家应该很清楚吧.一个炮要能攻击另一个炮他们必须要 ...
- 使用 lspci 和 setpci 调试 PCIe 问题
lspci 命令和 setpci 命令均为 Linux 发行版中原生可用的命令. 这 2 条命令均可提供多级输出,适合在不同时间点用于查看 PCI 总线上训练的不同组件的功能和状态.其中大部分功能均可 ...
- TS内置类型与拓展
TS内置类型与拓展 TypeScript具有类型系统,且是JavaScript的超集,其可以编译成普通的JavaScript代码,也就是说,其是带有类型检查的JavaScript. 内置类型 Type ...
- Direct2D 另一种与D3D创建类似的方法
在进行D2D学习的时候,发现了这样一篇文档, Direct2D Quickstart for Windows 8 只有这么一小段介绍, Direct2D is a native-code, immed ...
- win32-SetupDiSetClassInstallParamsW的使用
SetupDiSetClassInstallParams函数一般是用来禁用/启用某个设备 比如我们可以禁用网络适配器 /* for Devpkey */ #define INITGUID /* dep ...
- SQL Server初体验
概述 基于SQL Server 2019 Developer免费版搭建一个本地的开发环境. 下载安装 安装文件下载地址:https://www.microsoft.com/zh-cn/sql-serv ...
- django中从你的代码运行管理命令call_command
# 主要用法就是调用django自定义的Command命令 # 语法 django.core.management.call_command(name,*args,**options) - name ...
- day03--实际操作演示linux系统挂载过程
# 第一步骤: 拥有一个存储设备-光驱,使光驱加载光盘 # 第二步骤: 在linux系统中找到光驱设备 ls -l /dev/cdrom # 第三步骤: 需要将存储设备进行 挂载 挂载命令语法格式: ...