prism框架学习-随笔

prism框架学习:

背景

之前工作确实用到这个prism框架,但是由于一直陷在业务漩涡,没有精力来学习这个框架,最近听说我的梦中情厂用的大多都是这个框架,那必须抽时间把这个框架给好好学习一下,这里呢,更多的是为了做一个笔记,方便自己没事的时候看看,所以格式方面就比较随意,看官们见谅…

关于prism

通过gitlab介绍:链接: prism-githup官网 ,我们知道prism.core是平台无关的 但是prism没办法做到平台无关,所以针对wpf有prism.wpf,而prism.unity主要就是为了提供UnityContainer作为ioc容器,实现控制反转(依赖注入),所以本人使用的prism的库也就是prism.core prism.wpf prism.unity这三个。

如何开始一个prism项目

首先第一步,在启动程序更改appsettings.xaml文件
app.xaml中的类型换成prismApplication,并且移除startupUri,并且必须提供CreateShell和registerType的覆写方法
1.createshell 返回应用程序主窗口
2.registerTypes 在prism初始化过程中被调用,一般是定义一些注册类型,主要是为了实现控制翻转,所以预注册类型
注意:在将ViewModelLocator.AutoWireViewModel 附加属性设置为 True 的同时,Prism 首先查找 ViewModelLocationProvider 中已经使用 Register 注册的类型,如果没有的话,会按照命名规则找到对应的viewmodel(当然在app.xaml.cs也可以覆写SetDefaultViewTypeToViewModelTypeResolver方法更改对应的命名规则)

module

在prism的框架中,一个程序的界面可以分为module-region-control,所以下面一步就是注册module
module可以理解成是一组有关联的服务、界面、功能等等,主要是为了能够实现软件的个性化需求以及开发过程中的可扩展性,大多数软件都有用户角色的管理,对应不同级别的角色提供不同级别的功能,这里就需要用到module了。

  1. 创建一个module.cs文件继承自IModule
  2. 重写RegisterTypes(IContainerRegistry containerRegistry)和OnInitialized(IContainerProvider containerProvider)方法,其中一些模块相关的类型或者服务可以放在这里的RegisterTypes方法里注册,OnInitialized主要是为了初始化视图,通过这里可以动态的实现模块对应的UI方面的加载。
  3. 按需加载module,多种方式,通过app.xaml.cs的configureModuleCatalog() 或者通过IModuleManager.LoadModule()等方法

region

要理解region相关的用法,需要理解regionManager和region的不同用法,我们先来看一下IRegionManager的类成员,主要分为AddToRegion()、Regions、RegisterViewWithRegion()、RequestNavigate()这几个成员,而RegionManager.Regions返回的是List,所以我们顺带看一下IRegion的成员:主要有Add()、Remove()、Activate()、Deactivate()、Views()这几个成员。
我们重点关注下面几个函数:
1.RegionManager.AddToRegion();
这里看一下源码,实际上和IRegion.Add()方法等同的,都是将一个视图加入到region区域中去,至于这个“加入”代表的意思是根据region所绑定的控件类型所决定的:如果是contentControl 则只会显示最后一个add的界面,如果是itemsControl或者是tabControl则会显示所有的界面,比如tabcontrol会把所有add的界面以tabitem的形式摆放
2.RegisterViewWithRegion();
这个方法和AddToRegion有什么区别呢?这个方法是将某个view和region进行绑定,后面无法再动态增删这个region里面的内容了,而AddToRegion则可以动态绑定。

navigate

RequestNavigate()这个方法,顾名思义,导航函数,关于导航,需要知道:导航的两个条件:
1.注册region
2.注册导航页面 registerForNavigation<view,viewModel>(“别名”);
使用regionManager,RequestNavigate(“RegionName”,“ViewName”)导航到对应页面。
如果想更精细的控制导航的逻辑,可以在对应的view中,继承INavigationAware,其中IsNavigationTarget 是 Prism 框架INavigationAware 接口的一部分,用于处理视图导航。当使用 Prism 的导航功能在视图之间进行切换时,IsNavigationTarget 用来决定是否可以重用已存在的视图实例,还是应该创建一个新的视图实例。使用OnNavigatedTo获取journal 然后在对应的按钮 journal.goback();这个就是回退视图。

dialog

DialogService,prism为对话框服务提供了便利,只需要在RegisterType()里注册对应的类型,然后在viewmodel根据注册的dialog名称调用即可,但是需要注意一点:
dialogService注意事项
在使用dialogService的时候,dialog对应的view必须是usercontrol类型,而且viewmodel必须继承idialogAware接口。
由于dialog的view必须是usercontrol,所以没办法控制外层window的样式,但是可以通过自定义window样式,也是在registerType函数里注册RegisterDialogWindow();

eventAggregator

对于不同的viewmodel或者模块之间的通信,使用EventAgregator(事件聚合器),分为publisher和subscriber

  1. 首先定义事件类,需要继承PubSubEvent
    例如:public class TickerSymbolSelectedEvent : PubSubEvent{}
  2. 发布方需要定义一个事件聚合器对象IEventAggregator _eventAggregator;并进行实例化,一般发布事件的过程是_eventAggregator.GetEvent().Publish(“STOCK0”);(因为定义了string类型)
  3. 订阅方就是 ea.GetEvent().Subscribe(ShowNews);其中shownews应该是一个函数指针或者lambda
    subscribe有重载版本可以指定在哪个线程执行action

其他的还有delegateCommand,compositeCommand,使用方法比较简单,不再赘述。

### 回答1: GraphPad Prism 9.5 是一款专业的统计与绘图软件,可从各种实验数据中生成高质量的图表和分析结果。这款软件适用于多种研究领域,如生物学、医学、化学、物理学、社会科学等。 GraphPad Prism 9.5 有着简洁明了的操作界面,易于上手。它具有多种分析工具和图表类型,包括柱状图、散点图、趋势图、等分图、箱线图等。用户可以根据实验类型选择不同的分析方法,比如t检验、方差分析、回归分析等,从而很方便地评估数据的可靠性和相关性,并检验差异的显著性。 此外,GraphPad Prism 9.5 还提供了充分的数据可视化功能。用户可以随时调整图表风格和样式,以使其更加清晰、直观、吸引人,并分享给同事、客户或出版社,以便更好地展示实验结果和相关结论。 总的来说,GraphPad Prism 9.5 是一款功能齐全、易于操作的统计分析软件,既适合专业人士处理大量数据,又适合初学者进行简单的实验分析。 ### 回答2: GraphPad Prism 9.5是一款用于科学数据分析和制图的软件,具有图形化界面和用户友好的操作界面。它被广泛应用于医学、生物学、化学、生命科学和社会科学等领域。 GraphPad Prism 9.5提供了多种统计分析方法,包括t检验、方差分析、卡方检验、线性回归、非线性回归、生存分析和逐步多元回归等。这些方法可以帮助用户对数据进行准确的统计分析,从而得出科学结论。 除了统计分析,GraphPad Prism 9.5还提供了各种制图工具,例如柱状图、饼状图、折线图、散点图、密度图、箱线图和热力图等。这些图表具有美观的外观和易于阅读的格式,可以展示数据的趋势和关系。 另外,GraphPad Prism 9.5也支持将制作的图表导出为多种格式,包括PDF、PNG、JPEG和EPS等。用户可以根据需要导出图表,并在论文、演示文稿和海报等科学出版物中使用。 总之,GraphPad Prism 9.5是一款出色的科学数据分析和图表制作软件,其强大的统计分析功能和精美的图表制作功能可以帮助科学家们更有效地解释和传达其研究成果,提高科研工作的效率和质量。 ### 回答3: GraphPad Prism 9.5是数据分析和绘图软件中最流行的一种,被用于生物、医学等领域的研究数据分析和图表制作。在其最新的版本中,增加了不少新的功能和改进,例如增加了数据集的结构化和管理功能,增强了安全性和可扩展性,拓展了统计和回归分析工具,提高了绘制图表的速度和效率。此外,Prism 9.5还配备了全新的交互式媒体工具,支持图表的动态展示和在线共享,使用者可以方便地制作出精美的图表和报告,并与其他人分享和交流自己的研究进度和发现。综上所述,GraphPad Prism 9.5是一款非常实用、易用、高效的数据分析与图表制作软件,为生物、医学等研究领域的科学家提供了重要的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值