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

《一》框架介绍

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中使用

csharp 复制代码
<Grid>
	<contentControl prism:RegionManager.RegionName="ContentRegion" />
</Grid>

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

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

RegionManager除定义区域外,还有一下功能:

维护区域集合,提供对区域的访问,合成视图,区域导航,定义区域

csharp 复制代码
//对区域的访问:
var region = regionManager.Regions("contentRegion");
相关推荐
瞎某某Blinder2 小时前
DFT学习记录[4] 电子和空穴的有效质量计算全流程
python·学习
zhangfeng11334 小时前
Warmup Scheduler深度学习训练中,在训练初期使用较低学习率进行预热(Warmup),然后再按照预定策略(如余弦退火、阶梯下降等)衰减学习率的方法
人工智能·深度学习·学习
日更嵌入式的打工仔4 小时前
LAN9253中文注释第七章
笔记·原文翻译
red_redemption5 小时前
自由学习记录(118)
学习
小猪佩奇TONY6 小时前
OpenCL 学习(5)---- OpenCL 内核和内核参数
学习
01二进制代码漫游日记6 小时前
自定义类型:联合和枚举(一)
c语言·开发语言·学习·算法
非凡ghost7 小时前
小X分身APP(手机分身类工具)
android·windows·学习·智能手机·软件需求
weixin_458872617 小时前
东华复试OJ每日3题打卡·复盘82~84
学习
昌兵鼠鼠8 小时前
LeetCode Hot100 哈希
学习·算法·leetcode·哈希算法
旖旎夜光8 小时前
哈希(14)(下)
数据结构·c++·学习