学习笔记(prism--视频【WPF-prism核心教程】)--待更新

embedded/2024/12/27 7:24:06/

《一》框架介绍

prism是一个用于WPF…和winUI中构建的松散耦合,可维护和可测试的应用程序框架。帮助WPF开发人员以简化编写,维护和扩展来设计应用程序。
优点:遵循特定的约定,可自动将view/ViewModel建立DataContext的关系,同事默认支持多种容器依赖注入,以及强大的模块化和导航功能将应用变得更加灵活。

本视频主要包括:region(区域),module(模块),MVVM(视图注入),Event Aggregator(事件聚合器),Navigation(导航),Dialog(对话)。

《二》创建prism项目

方式一:创建WPF项目,然后导入prism的库,修改添加一部分代码,
方式二:创建prism blank App(WPF),则是创建自动添加了prism库。

《三》区域:Region(RegionManager)
弱化模块和模块之间的耦合关系:
可以不为其固定内容,将页面每个部分定于一个唯一区域,动态设置内容。

两种方式:
1.在xaml中使用

<Grid><contentControl prism:RegionManager.RegionName="ContentRegion" />
</Grid>

2.在代码中使用(X:name)

//在xaml中取名称:
....x:Name="ctr"....
//代码中
public MainViewModel(IRegionManager regionManager)
{RegionManager.SetRegionName(ctr, "contentRegion");
}

RegionManager除定义区域外,还有一下功能:
维护区域集合,提供对区域的访问,合成视图,区域导航,定义区域

//对区域的访问:
var region = regionManager.Regions("contentRegion");

http://www.ppmy.cn/embedded/149117.html

相关文章

SpringCloudAlibaba技术栈-Dubbo

1、什么是Dubbo? 简单来说&#xff0c;dubbo就像是个看不见的手&#xff0c;负责专门从注册中心nacos调用注册到nacos上面的服务的&#xff0c;因为在微服务环境下不同的功能模块可能在不同的服务器上。dubbo调用服务就像是在调用本地的服务一样。 分布式调用与高并发处理 Du…

在算力魔方上运行Genesis:一款颠覆性开源生成式物理引擎!

作者&#xff1a;算力魔方创始人 刘力 一&#xff0c;Genesis简介 Genesis是一款由19个顶尖科研机构联手打造的&#xff0c;用于通用机器人、具身智能和物理 AI 应用的开源生成式物理引擎。它可以生成整个世界&#xff0c;包括相机运动、机器人任务和交互式 3D 场景等。其特点有…

电脑出现 0x0000007f 蓝屏问题怎么办,参考以下方法尝试解决

电脑蓝屏是让许多用户头疼的问题&#xff0c;其中出现 “0x0000007f” 错误代码更是较为常见且棘手。了解其背后成因并掌握修复方法&#xff0c;能帮我们快速恢复电脑正常运行。 一、可能的硬件原因 内存问题 内存条长时间使用可能出现物理损坏&#xff0c;如金手指氧化、芯片…

【ue5学习笔记2】在场景放入一个物体的蓝图输入事件无效?

在场景放入一个物体的蓝图输入事件无效&#xff0c;那是因为你不知道gameMode这个东西这是一个用于设定游戏股则的东西&#xff0c; 就好比你的控制对象&#xff0c;你输入无效是没有指定你当前关卡中指定的控制对象是它。操作方法如下&#xff1a; 1.创建一个gameMode蓝图类并…

嵌入式学习-QT-Day04

嵌入式学习-QT-Day04 四、基本组件 1、Designer设计师 2、布局Layout 3、QWidget类 4、界面文件与C代码的关系 5、QLabel标签 5.1 基本属性 5.2 添加资源库 5.3 使用资源库 5.4 使用代码添加图片 5.5 使用代码添加动态图 6、QAbstractButton按钮类 7、QLineEdit 单行文本输入框…

使用Docker启动Linux Riscv版

目标&#xff1a;使用Docker启动Linux Riscv版 以前主要是使用qemu来启动RISCV系统&#xff0c;比如在Linux和FreeBSD系统下&#xff0c;都可以安装QEMU&#xff0c;然后用QEMU仿真RISCV环境。 这回&#xff0c;就用Docker来启动RISCV系统。跟qemu相比&#xff0c;Docker更加…

使用驱动器光盘需格式化:深度解析与数据恢复全攻略

一、驱动器光盘需格式化的现象概述 在日常使用驱动器光盘的过程中&#xff0c;用户可能会遇到系统提示“驱动器中的磁盘未被格式化&#xff0c;是否现在格式化&#xff1f;”的警告。这一提示通常意味着光盘上的文件系统已损坏或无法被系统正常识别&#xff0c;导致无法读取光…

《Eclipse 创建 Java 项目》

《Eclipse 创建 Java 项目》 介绍 Eclipse 是一个流行的集成开发环境&#xff08;IDE&#xff09;&#xff0c;广泛用于 Java 应用程序的开发。在本教程中&#xff0c;我们将逐步介绍如何在 Eclipse 中创建一个新的 Java 项目&#xff0c;以及如何配置和运行该项目。 先决条…