
PRISM
文章平均质量分 57
lnc2003
这个作者很懒,什么都没留下…
展开
-
Prism7中RegionName与Model关联的几种方法
新建一PrismBlankApp(WPF)项目BlankApp1,添加一PrismModule(WPF)项目Module1,RegionName与Model关联的方法有:方法1:在MainWindow.xaml.cs的构造函数中关联 public partial class MainWindow : Window { public Ma...原创 2019-04-19 08:34:56 · 1408 阅读 · 0 评论 -
Prism4文档翻译(第一章 第三部分)
羞愧啊,居然好多字都不认识,好多东西都没认全。。。人间之悲剧就是看完这一些后我认为我可以重新回去把软件工程的书重头到尾重新看一遍了。咳,大学白读了啊,对不起老师,对不起党,对不起父母,对不起自己啊!!!不过,感觉原版写的确实非常好啊,对我等小白来说,还是非常实分之有用的。本来我不喜欢看这种东西的人居然翻译了一次后,居然感觉他居然说的不是空话。。。纳尼,微软说的不是空话?那难道我以前做的东西都...转载 2017-01-23 16:53:30 · 432 阅读 · 0 评论 -
Prism4文档翻译(第一章 第二部分)
Prism4的文档居然没有简体中文版本。让我看的着实蛋疼不以,找时间翻译一下,与大家共享吧。本人不保证翻译的正确性,或者没有二义性。因为时间有限,就只好一点一点翻译,翻译多少写多少吧。改个标题,因为这个并不是从第一章介绍的第一段开始翻译的,前面几段实在是。。算了不翻了本部分主要介绍如何安装Prism以及Prism的更新内容,第一章 第三部分则是介绍Prism的设计目标和重要概念。设计目标已经翻...转载 2017-01-23 16:54:19 · 448 阅读 · 0 评论 -
Prism文档翻译(第一章 第四部分)
掩面啊,想死啊,谁来救救我啊,第一章总算是要翻译完啦,还差最后一部分,如何使用Prism就OK了。明天搞定他,然后不上代码Coding简直就对不起我现在激动的心情,于是我打算先不翻译第二章,而是改为翻译文档中的附录H:手把手玩Prism的前几个示例。咳。。这辈子总能学会一个框架吧。您可以在以下位置找到原文:http://compositewpf.codeplex.com/release...转载 2017-01-23 16:56:29 · 455 阅读 · 0 评论 -
Prism4文档翻译(第一章 第五部分)
第一章到此为止已经全部结束了,接下来按照计划就要翻译 附录H 的第一个示例。。。。。。感觉Prism会很好用的,真的。4. 使用Prism现在你已经见到了Prism所提供的大部份功能和设计方式,现在就应该了解使用Prism创建新的应用程序到底有多方便。这一节讲述的如何创建一个基本的Prism应用程序。通过这些基本内容你可以根据需求,扩展Prism提供的功能和设计模式。【注意】:Pris...转载 2017-01-23 16:57:37 · 353 阅读 · 0 评论 -
Prism4文档翻译(第二章 全部内容)
附图神马的太蛋疼了,代码神马的。。也太蛋疼了,全部懒的弄,将就着看吧,需要图的自己翻原文档去。。需要看代码的。。就将就的看吧,重要的图我已经将其中的意思表达出来了。。。咳,附录H啊,我可怜的附录H啊,你怎么死的这么惨啊。。。我后悔啊,我恨啊。。没存的时候不应该清理隐藏文件啊。。整个第二章我是一路存过来的有木有啊!突然停电的电脑你伤不起啊伤不起啊啊啊啊啊(此处省略1万字)。有翻译错误的欢迎各位批...转载 2017-01-23 16:59:34 · 639 阅读 · 0 评论 -
Prism4文档翻译(第三章 全部内容)
首先说明一下,在下文中看到任何“窗口”都可能是我将“容器”两个字打错了,请各位及时批评指正。另外小小的吐糟一下:用静态页生成的博客你伤不起啊!改一个东西再改一次要5分钟有木有啊!我昨天白改了5回有木有啊!好在我没次都的都不多,5回放一起也没改多少。。。。好吧大家自己看吧,有任何错误都可以提哈,从本章开始,我会在介绍中点名本章我认为应该要关注的内容,以供和我一样的新手朋友们阅读。并且我也会将图片和代...转载 2017-01-23 17:01:16 · 867 阅读 · 0 评论 -
Prism4文档翻译(第四章 第一部分)
哇卡卡,我胡汉三总算是忙完了- -#,感觉在实际工作用Prism的感觉确实不错。推荐大家可以试一试呃。使用完后总有体会也有感想,不过我答应自己的事就一定要做到,继续开始翻译文档^_^。重装了下系统,Live Writter挂了,于是直接COPY到网站上发现格式好像挂了,将就着看吧 - -# 在此感谢 1楼@Jianqiang Bao提出的宝贵意见,在此将所有应该为“通信”的内容全部修...转载 2017-01-23 17:02:41 · 574 阅读 · 0 评论 -
Prism4文档翻译(第四章 第二部分)
这一部分内容有点少呃,而且翻译难度也有一些大。接下来明天或者后天就把代码的那部分(第四章 第三部分)放上来吧,最近在弄一个设计忙的要死。另外,由于最近在公司担任了一大部分的培训任务(我感觉我就是标准的半桶水叮当响,外加误人子弟)于是我感觉好像去做这一行也不错呃。另外有同事要我出视频,我也就试着做一做吧,正好,附录H算是和我说bye-bye了,于是补起。对于这种视频神马的有谁有做过,可以指点我一下哈...转载 2017-01-23 17:03:40 · 376 阅读 · 0 评论 -
Prism4文档翻译(第四章 第三部分)
这一节特别恶心。。真心的,我仔细的看了看了一遍,至少在我的理解里应该不会出什么问题。求各位大神指正啊。我周五翻译完,周六周日校对了几遍可是还是有感觉有好几处翻译不通畅。咳,翻译技术有限公司出来的人伤不起啊,这一节代码比较多,我慢慢编辑,我了个X,编辑了二分之一死机的家伙你伤不起啊!求问一下这里可以存草稿不?那个直接用编辑要等5分钟在编辑里面才能看到刚编辑的内容我很蛋疼啊,为了防止他死机,我先编...转载 2017-01-23 17:04:54 · 434 阅读 · 0 评论 -
Prism4文档翻译(第五章 第一部分)
写在章写的话:本章内容涉及MVVM模式,这个模式虽然我略有耳闻,但绝对算不上精通(好吧可能入门都算不上)。我试图表达ppt原来的意思,所以这里的每一节我都花费很长的时间去完善,包括这里哪些名词需要翻译,哪些不需要。但是可能还有一些地方翻译的不是很准确或者说是有错误,还请大家多多批评指正。另最近比较忙,估计进度不会快。本节导读:本节说明了什么是MVVM,也说明了MVVM中的Model, ...转载 2017-01-23 17:05:53 · 379 阅读 · 0 评论 -
Prism4文档翻译(第五章 第二部分)
最近实在有点恶心,于是就一直没有更新了。第五章我估计着要全部弄完还得看项目组里的新人什么时候看到这里。另外上次被管理员小小的黑了一把以后就不发首页了哈,我感觉我以前发了似乎也没事呃,上次的为啥就不行呢?算了不行就不行呗。另外求各位大神解答,如果要用Silverlight做一个视频聊天的应用是要用WCF RIA还是要用Socket做通信呢?纠结中啊,我试着用了无数的Socket模型,似乎只有Tcp ...转载 2017-01-23 17:07:27 · 328 阅读 · 0 评论 -
Prism4 文档翻译系列---第3章 管理组件间的依赖关系
基于Prism类库的应用程序可能是由多个松耦合的类型和服务组成的复杂应用程序,他们需要根据用户的动作发出内容和接收通知进行互动,由于他们是松耦合的,他们需要一种方式来互动和交流来传递业务功能的需求。 为了将这些零散的模块组合在一起,基于Prism的应用程序使用了一个依赖注入容器,依赖注入容器通过基于容器的配置提供实例化类对象并且管理它们的声明周期减少了对象之间的依赖耦合关系。在创建对象时...转载 2017-01-23 16:51:41 · 716 阅读 · 0 评论 -
PRISM框架开发基本过程
1、创建Shell2、创建BootStrapper: 在BootStrapper中调用Shell/3、App中调用BootStrapper中的Run方法;4、定义Module: 实现IModule接口,注册Module。5、在BootStrapper中发现并加载模块。 ...原创 2017-01-16 11:07:25 · 657 阅读 · 0 评论 -
从PRISM开始学WPF(九)交互Interaction(弹窗)-更新至Prism7.1
0x07交互[7.1updated]无变化这是这个系列的最后一篇了,主要介绍了Prism中为我们提供几种弹窗交互的方式。Notification通知式Prism通过InteractionRequest 来实现弹窗交互,它是一个泛型接口,不同的类型对应不同类型的弹窗方式。在使用InteractionRequest的时候需要在,xaml中需要注册一个Trigger: <...转载 2019-04-18 10:52:58 · 1309 阅读 · 0 评论 -
从PRISM开始学WPF(八)导航Navigation-更新至Prism7.1
0x6Navigation[7.1updated] Navigation 在wpf中并没有变化Basic NavigationPrism中的Navigation提供了一种类似导航的功能,他可以根据用户的输入,来刷新UI。先看一个最简单的例子,通过按钮来导航到一个视图,在这里,视图被注册为Navication。7.1中不再使用构造函数注入依赖,而是新增了两个接口OnInitiali...转载 2019-04-18 10:52:05 · 1323 阅读 · 0 评论 -
从PRISM开始学WPF(番外)共享上下文 RegionContext-更新至Prism7.1
RegionContext共享上下文There are a lot of scenarios where you might want to share contextual information between the view that is hosting a region and a view that is inside a region. For example, a mast...转载 2019-04-18 10:51:23 · 365 阅读 · 0 评论 -
从PRISM开始学WPF(七)MVVM(三)事件聚合器EventAggregator-更新至Prism7.1
事件聚合器EventAggregator[7.1updated]除了app部分,没有任何变化Event aggregation. For communication across view models, presenters, or controllers when there is not a direct action-reaction expectation.(⊙﹏⊙),G...转载 2019-04-18 10:50:40 · 865 阅读 · 0 评论 -
从PRISM开始学WPF(六)MVVM(二)Command-更新至Prism7.1
命令绑定(Command)[7.1updated]这一节除了基础app部分,并没有什么变化什么是Command?先看下微软官方的说明:Commanding is an input mechanism in Windows Presentation Foundation (WPF) which provides input handling at a more semantic l...转载 2019-04-18 10:49:54 · 543 阅读 · 0 评论 -
从PRISM开始学WPF(五)MVVM(一)ViewModel-更新至Prism7.1
0x5 MVVM[7.1updated]截止到目前,我们看到7.1的更新主要在三个地方PrismApplication ,并且不再使用Bootstrapper 更新了unity,现在使用prism.unity作为容易管理 更新了IModule接口 下面所有代码片段都更新到7.1,并且不再赘述与6.x的区别蛤蛤,终于到MVVM了。特别是前面的Module,忒难写,反正大概知道是怎么用...转载 2019-04-18 10:48:51 · 741 阅读 · 0 评论 -
从PRISM开始学WPF(四)Prism-Module-更新至Prism7.1
0x4ModulesModules是能够独立开发、测试、部署的功能单元,Modules可以被设计成实现特定业务逻辑的模块(如Profile Management),也可以被设计成实现通用基础设施或服务的模块(如Logging、Exception Management)。既然Modules能够独立开发、测试、部署,那么如何告诉Shell(我们的宿主程序)去Load哪些Module,以怎样...转载 2019-04-18 10:47:51 · 459 阅读 · 0 评论 -
从PRISM开始学WPF(三)Prism-Region-更新至Prism7.1
[7.1update]在开始前,我们先看下版本7.1中在本实例中的改动。首先,项目文件中没有了Bootstrapper.cs,在上一篇的末尾,我们说过了,在7.1中,不见推荐使用Bootstrapper,相关改动整合到app.xaml和app.xaml.cs中。 然后: app.xaml<prism:PrismApplication x:Class="Regions.App" ...转载 2019-04-18 10:44:14 · 772 阅读 · 0 评论 -
从PRISM开始学WPF(二)Prism-更新至Prism7.1
0x1 PRISM?PRISM项目地址:https://github.com/PrismLibrary/Prism先看下简介:Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Windows 10 UWP, and Xamari...转载 2019-04-18 10:41:36 · 872 阅读 · 1 评论 -
从PRISM开始学WPF,Prism7更新了什么
[7.1updated]从wpf的实例代码来看,7.1主要更新了几个部分:PrismApplication prismapp现在都是PrismApplication ,这变动主要体现在app.xaml和app.xaml.cs中 xaml中的 Application标签变成了prism:PrismApplication 废弃了Bootsrapper,app 继承Prism.Unity....转载 2019-04-18 10:38:06 · 829 阅读 · 0 评论 -
Prism框架研究(一)
从今天起开始写一个Prism框架的学习博客,今天是第一篇,所以从最基本的一些概念开始学习这个基于MVVM的框架的学习,首先看一下Prism代表什么,这里引用一下比较官方的英文解释来看一下:Prism was the code name for the guidance formally known as the Composite Application Guidance for WPF...转载 2017-01-13 14:07:10 · 2187 阅读 · 0 评论 -
Prism4文档翻译(第九章 第一部分)
因为我的笔记本电脑硬盘彻底的被我玩坏了,所以第五章剩下的部分,第六章,第七章,第八章全部都已经消失到大海中去了,为他们默哀吧。在完成9 10 11章后,我会补全这些内容的。最近新买了一台电脑,同时我也对我的个人作息时间表进行了一次更新,所以翻译时间暂时定为每天晚上的8:00-10:00,并且在10:30左右发布。我将对该作息时间试运行2周以观察情况。从第六章开始(虽然他已经走远了),我将改...转载 2017-01-23 17:09:07 · 446 阅读 · 0 评论 -
Prism4文档翻译(第五章 第三部分)
特别说明:本节非手动翻译,翻译时,本人使用的工具如下:台式机 *2,笔记本电脑 *1,小刀 *1,十字螺丝刀 *1,一字螺丝刀 *1,笔记本硬盘 *2,启动U盘 *1,移动硬盘 *1,Final Recovery *1,Easy Recovery *1,电子书 *1。翻译过程自行想像,反正用了这些东西以后,Command这一节就翻译出来了,至于后面的那一节,乱码太多了。。。。 于...转载 2017-01-23 17:11:35 · 439 阅读 · 0 评论 -
Prism4 文档翻译系列---第6章 高级MVVM场景
在上一章中描述了如何通过将UI,表现逻辑,业务逻辑分别放到三个单独的类中(View,View Model,Model),实现这些类之间的交互(通过数据绑定,命令以及数据验证接口)以及实现一个策略来处理建筑和绑定的方式实现MVVM的基本元素。 通过使用实现MVVM的这些基本元素的方式可以支持应用程序中许多的应用场景。然而,您可能会遇到更复杂的场景,需要扩展基本MVVM模式或者需要应...转载 2017-01-23 17:13:24 · 1583 阅读 · 0 评论 -
一步步实现 Prism + MEF(二)--- 绑定命令
Prism程序集为我们提供了DelegateCommand命令,使用该命令可实现窗口直接绑定。第一步:在ViewModel中定义一个DelegateCommand属性。 public DelegateCommand<object> SaveCommand { get; set; }第二步:添加Save和CanSave两个命令相关的方法。 ...转载 2018-06-28 15:18:05 · 468 阅读 · 0 评论 -
PRISM中使用CompositeCommand一点心得体会
在学习CompositeCommand的过程中,遇到单个命令可以执行,CompositeCommand无法执行的问题 关键代码如下:1、声明CompositeCommand public CompositeCommand MyCompositeCommand = new CompositeCommand(); 2、声明两个Delegate...原创 2018-07-03 15:35:11 · 1498 阅读 · 0 评论 -
PRISM运用MEF依赖注入VIEW与viewmodel绑定的方法总结
view页面:view1.xamlviewmodel:view1model.cs 方法1: view1.xaml代码: <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="1*"/> ...原创 2018-07-11 14:01:23 · 2063 阅读 · 0 评论 -
Prism模块之间通信的几种方式
在开发大型复杂系统时,我们通常会按功能将系统分成很多模块,这样模块就可以独立的并行开发、测试、部署、修改。使用Prism框架设计表现层时,我们也会遵循这个原则,按功能相关性将界面划分为多个模块,每个模块又包含多个Region。这就需要解决模块之间、Region之间经常需要进行通信的问题,Prism提供了以下几种方式:1、聚合事件(Event aggregation)使用方式,先在一个公共模...转载 2018-07-12 15:38:49 · 2180 阅读 · 0 评论 -
Prism框架(一)—— 概述
Prism框架的设计目的是用来帮助构建丰富、灵活、易维护的WPF和Silverlight应用程序。关键概念Modules:Modules是能够独立开发、测试、部署的功能单元,Modules可以被设计成实现特定业务逻辑的模块(如Profile Management),也可以被设计成实现通用基础设施或服务的模块(如Logging、Exception Management)。Module Cata...转载 2018-07-13 14:19:12 · 1575 阅读 · 0 评论 -
Prism中的Region
1、Region<ContentCotrol prism:RegionManager.RegionName = "MainRegion"/>并不是所有的控件都可以作为Region的,需要为需要定义为Region的控件添加RegionAdapter。RegionAdapter的作用是为特定的控件创建相应的Region,并将控件与Region进行绑定,然后为Region添加一些行为...原创 2018-09-07 10:55:46 · 990 阅读 · 0 评论 -
PRISM 扩展Mef 的Export属性为ViewExport
1、新建Infrastructure项目 A、新建IViewRegionRegistration类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Infrastructure...原创 2018-09-17 09:17:22 · 604 阅读 · 0 评论 -
Prism中View与Region关联的几种方法
//方法1 ( ViewDiscovery) this.regionManager.RegisterViewWithRegion("RegionName", typeof(ViewClass)); //方法2 (ViewInjection ) a.MEF view = this.con...原创 2018-09-17 09:53:40 · 1554 阅读 · 0 评论 -
PRISM 6 命令Command 属性更改时自动通知命令重新更新命令状态的方法
属性更改时自动通知命令重新更新命令状态的方法 方法一 1、 定义属性。性性中添加此句ExecuteDelegateCommand.RaiseCanExecuteChanged();private bool _isEnabled; public bool IsEnabled { get { return _isEnabl...原创 2018-09-26 10:38:06 · 1901 阅读 · 0 评论 -
PRISM CompositeCommand(复合命令) IActiveAware接口
CompositeCommand(复合命令)在父view级别通常会被用来协调命令在子view级别是如何调用的。在一些情况下,你想要所有的显示View的命令被执行,就像在前面的Save All命令。在另外一些情况下,你想要仅在活跃View的视图中的命令被执行。在这种情况下,复合命令将会执行在被认为是活跃的View中的命令;那些在非活跃View中的命令将不会被执行。例如,你可能在应用程序工具栏或...转载 2018-10-29 14:20:52 · 986 阅读 · 0 评论 -
prism 中 EventAggregator事件过滤(Subscription Filtering)
Subscription FilteringSubscribers may not need to handle every instance of a published event. In these cases, the subscriber can subscribe and supply a delegate that filters the event before the reg...转载 2018-10-29 15:01:22 · 763 阅读 · 0 评论 -
一步步实现 Prism + MEF(一)--- 搭建框架
第一步:构建一个名为Bootstrapper的类作为引导程序。 class Bootstrapper : MefBootstrapper { }第二步:在MainWindow窗体中添加一个CoontentControl控件作为模块的容器,并在后台代码中添加[Export]属性以便MEF可以注入。窗体代码:<ContentControl prism:R...转载 2018-06-28 15:16:25 · 375 阅读 · 0 评论