原文:从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. (⊙﹏⊙…
原文:从PRISM开始学WPF(七)MVVM(三)事件聚合器EventAggregator? 从PRISM开始学WPF(一)WPF? 从PRISM开始学WPF(二)Prism? 从PRISM开始学WPF(三)Prism-Region? 从PRISM开始学WPF(四)Prism-Module? 从PRISM开始学WPF(五)MVVM(一)ViewModel? 从PRISM开始学WPF(六)MVVM(二)Command? 从PRISM开始学WPF(七)MVVM(三)事件聚合器EventAggrega…
当时我在搬运Prism6.3的sample代码的时候,就是因为网上的资料太老旧,万万没想到这给自己挖了一个坑,因为我在做笔记的时候,prism已经在更新7.0了 现在已经是7.2了,(lll¬ω¬),GitHub异常活跃 我个人目前是没有使用prism做项目的,所以也没有什么使用感受 这些文章也只是尬笔记,但不妨碍我把这个系列更新到7.1 [7.1updated] 从wpf的实例代码来看,7.1主要更新了几个部分: PrismApplication prismapp现在都是PrismApplic…
原文:从PRISM开始学WPF(八)导航Navigation-更新至Prism7.1 0x6Navigation [7.1updated] Navigation 在wpf中并没有变化 Basic Navigation Prism中的Navigation提供了一种类似导航的功能,他可以根据用户的输入,来刷新UI. 先看一个最简单的例子,通过按钮来导航到一个视图,在这里,视图被注册为Navication. 7.1中不再使用构造函数注入依赖,而是新增了两个接口OnInitialized和Registe…
从PRISM开始学WPF(一)WPF?   我最近打算学习WPF ,在寻找MVVM框架的时候发现了PRISM,在此之前还从一些博客上了解了其他的MVVM框架,比如浅谈WPF中的MVVM框架--MVVMFoundation 中提到的MVVMFoundation,再比如 ViewModel从未如此清爽 - 轻量级WPF MVVM框架Stylet 中的Stylet.在知道PRISM是微软自家的框架的时候,就毫不犹豫的选了他,即便个人很倾向于可爱的Stylet.作为初学者,对WPF都没有很好的了解的情况…
原文:从PRISM开始学WPF(番外)共享上下文 RegionContext? 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 master detail–li…
原文:从PRISM开始学WPF(八)导航Navigation? 0x6Navigation Basic Navigation Prism中的Navigation提供了一种类似导航的功能,他可以根据用户的输入,来刷新UI. 先看一个最简单的例子,通过按钮来导航到一个视图,在这里,视图被注册为Navication. public void Initialize() { _container.RegisterTypeForNavigation<ViewA>(); _container.Registe…
原文:从PRISM开始学WPF(一)WPF-更新至Prism7.1 我最近打算学习WPF ,在寻找MVVM框架的时候发现了PRISM,在此之前还从一些博客上了解了其他的MVVM框架,比如浅谈WPF中的MVVM框架--MVVMFoundation 中提到的MVVMFoundation,再比如 ViewModel从未如此清爽 - 轻量级WPF MVVM框架Stylet 中的Stylet.在知道PRISM是微软自家的框架的时候,就毫不犹豫的选了他,即便个人很倾向于可爱的Stylet.作为初学者,对WP…
从PRISM开始学WPF(一)WPF? 从PRISM开始学WPF(二)Prism? 从PRISM开始学WPF(三)Prism-Region? 从PRISM开始学WPF(四)Prism-Module? 从PRISM开始学WPF(五)MVVM(一)ViewModel? 从PRISM开始学WPF(六)MVVM(一)Command? Event aggregation. For communication across view models, presenters, or controllers wh…
目录: 从PRISM开始学WPF(一)WPF? 从PRISM开始学WPF(二)Prism? 从PRISM开始学WPF(三)Prism-Region? 从PRISM开始学WPF(四)Prism-Module? 从PRISM开始学WPF(五)MVVM(一)ViewModel? 从PRISM开始学WPF(六)MVVM(一)Command? 0x1 PRISM? PRISM项目地址:https://github.com/PrismLibrary/Prism 先看下简介: Prism is a frame…
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 Xamarin Forms. 谷歌翻译: Prism是一个框架,用于在WPF,Windows 10 UWP和Xamari…
0x07交互 Notification xaml: <Window x:Class="UsingPopupWindowAction.Views.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:i="htt…
0x07交互 这是这个系列的最后一篇了,主要介绍了Prism中为我们提供几种弹窗交互的方式. Notification通知式 Prism通过InteractionRequest 来实现弹窗交互,它是一个泛型接口,不同的类型对应不同类型的弹窗方式. 在使用InteractionRequest的时候需要在,xaml中需要注册一个Trigger: <i:Interaction.Triggers> <prism:InteractionRequestTrigger SourceObject=&qu…
从PRISM开始学WPF(一)WPF? 从PRISM开始学WPF(二)Prism? 从PRISM开始学WPF(三)Prism-Region? 从PRISM开始学WPF(四)Prism-Module? 从PRISM开始学WPF(五)MVVM(一)ViewModel? 从PRISM开始学WPF(六)MVVM(一)Command? 0x3 Region regions Regions是应用程序UI的逻辑区域,它很像一个PlaceHolder,Views在Regions中展现,很多种控件可以被用作Reg…
[7.1update]在开始前,我们先看下版本7.1中在本实例中的改动. 首先,项目文件中没有了Bootstrapper.cs,在上一篇的末尾,我们说过了,在7.1中,不见推荐使用Bootstrapper,相关改动整合到app.xaml和app.xaml.cs中. 然后: app.xaml <prism:PrismApplication x:Class="Regions.App" xmlns="http://schemas.microsoft.com/winfx/200…
从PRISM开始学WPF(一)WPF? 从PRISM开始学WPF(二)Prism? 从PRISM开始学WPF(三)Prism-Region? 从PRISM开始学WPF(四)Prism-Module? 从PRISM开始学WPF(五)MVVM(一)ViewModel? 从PRISM开始学WPF(六)MVVM(一)Command? 0x5 MVVM 蛤蛤,终于到MVVM了.特别是前面的Module,忒难写,反正大概知道是怎么用就好了,具体怎么个容器,怎么个依赖注入,我也不是很懂,Prism重度依赖容器…
0x5 MVVM [7.1updated]截止到目前,我们看到7.1的更新主要在三个地方 PrismApplication ,并且不再使用Bootstrapper 更新了unity,现在使用prism.unity作为容易管理 更新了IModule接口 下面所有代码片段都更新到7.1,并且不再赘述与6.x的区别 蛤蛤,终于到MVVM了.特别是前面的Module,忒难写,反正大概知道是怎么用就好了,具体怎么个容器,怎么个依赖注入,我也不是很懂,Prism重度依赖容器,哪哪都是,哪哪都是依赖容器注入.…
0x6Navigation Basic Navigation Prism中的Navigation提供了一种类似导航的功能,他可以根据用户的输入,来刷新UI. 先看一个最简单的例子,通过按钮来导航到一个视图,在这里,视图被注册为Navication. public void Initialize() { _container.RegisterTypeForNavigation<ViewA>(); _container.RegisterTypeForNavigation<ViewB>(…
我最近打算学习WPF ,在寻找MVVM框架的时候发现了PRISM,在此之前还从一些博客上了解了其他的MVVM框架,比如浅谈WPF中的MVVM框架--MVVMFoundation 中提到的MVVMFoundation,再比如 ViewModel从未如此清爽 - 轻量级WPF MVVM框架Stylet 中的Stylet.在知道PRISM是微软自家的框架的时候,就毫不犹豫的选了他,即便个人很倾向于可爱的Stylet.作为初学者,对WPF都没有很好的了解的情况下,去学习使用一个WPF的框架是否真的大丈夫…
从PRISM开始学WPF(一)WPF? 从PRISM开始学WPF(二)Prism? 从PRISM开始学WPF(三)Prism-Region? 从PRISM开始学WPF(四)Prism-Module? 从PRISM开始学WPF(五)MVVM(一)ViewModel? 从PRISM开始学WPF(六)MVVM(一)Command? 0x4Modules Modules是能够独立开发.测试.部署的功能单元,Modules可以被设计成实现特定业务逻辑的模块(如Profile Management),也可以…
从PRISM开始学WPF(一)WPF? 从PRISM开始学WPF(二)Prism? 从PRISM开始学WPF(三)Prism-Region? 从PRISM开始学WPF(四)Prism-Module? 从PRISM开始学WPF(五)MVVM(一)ViewModel? 从PRISM开始学WPF(六)MVVM(一)Command? 命令绑定(Command) 什么是Command? 先看下微软官方的说明: Commanding is an input mechanism in Windows Pres…
0x4Modules Modules是能够独立开发.测试.部署的功能单元,Modules可以被设计成实现特定业务逻辑的模块(如Profile Management),也可以被设计成实现通用基础设施或服务的模块(如Logging.Exception Management). 既然Modules能够独立开发.测试.部署,那么如何告诉Shell(我们的宿主程序)去Load哪些Module,以怎样的形式Load这些Module呢?Prism为此提供了一个叫ModuleCatalog的东西.他用这个来管理…
命令绑定(Command) [7.1updated]这一节除了基础app部分,并没有什么变化 什么是Command? 先看下微软官方的说明: Commanding is an input mechanism in Windows Presentation Foundation (WPF) which provides input handling at a more semantic level than device input. Examples of commands are the Co…
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 master detail–like view shows a business entity and expo…
这篇博客将介绍在WPF项目中引入PRISM框架进行开发的一些基础知识.目前最新的PRISM的版本是Prism 6.1.0,可以在Github上获取PRISM的源码.这个系列的博客将选择PRISM 4.1版本来讲解.可以从微软官网上下载到PRISM 4.1相关内容.将下载下来的文件解压开: 新建一个WPF解决方案如下: 解决方案中包含两个工程,GetStartedPrismWPF是一个WPF项目,GetStartedPrismWPF.MainModule是一个类库项目.这两个项目中都同时添加下面P…
1. Prism.Wpf 和 Prism.Unity 这篇是 Prism 8.0 入门的第二篇文章,上一篇介绍了 Prism.Core,这篇文章主要介绍 Prism.Wpf 和 Prism.Unity. 以前做 WPF 和 Silverlight/Xamarin 项目的时候,我有时会把 ViewModel 和 View 放在不同的项目,ViewModel 使用 可移植类库项目,这样 ViewModel 就与 UI 平台无关,实现了代码复用.这样做还可以强制 View 和 ViewModel 解耦…
  源码:Prism5_Tutorial   参考文档 Data Validation in WPF √ WPF 4.5 – ASYNCHRONOUS VALIDATION Reusable async validation for WPF with Prism 5 Validating our ViewModel Implementing a Data Access Layer with Entity Framework 6.1 – Part1 √ Implementing a Data Ac…
WPF has supported validation since the first release in .NET 3.0. That support is built into the binding object and allows you to indicate validation errors through exceptions, an implementation of the IDataErrorInfo interface, or by using WPF Valida…
在上一篇博文中,有介绍到用换行符分割消息的方法.但是这种方法有个小问题,如果消息中本身就包含换行符,那将会将这条消息分割成两条,结果就不对了. 本文介绍另外一种消息分割方式,即上一篇博文中讲的第2条:use a fixed length header that indicates the length of the body,用一个固定字节数的Header前缀来指定Body的字节数,以此来分割消息. 上面图中Header固定为4字节,Header中保存的是一个4字节(32位)的整数,例如12即为…
原文:从头开始学JavaScript (三)--数据类型 一.分类 基本数据类型:undefined.null.string.Boolean.number 复杂数据类型:object object的属性以无序的名称和值对的形式 (name : value) 来定义 二.详解 1.undefined:undefined类型只有一个值:undefined,在使用var对变量进行声明但未初始化时,这个变量的值就是undefined. 包含undefined值的变量与尚未定义的变量是不一样的,以下这个例…