说不尽的MVVM(5) - 消息满天飞】的更多相关文章

知识预备 阅读本文,我假定你具备以下知识: C#和WPF基础知识 Lambda表达式 清楚ViewModel的职责 如果我们的程序需要弹出一个MessageBox,我们应该怎么做? 我见过不少人在ViewModel里面写着:MessageBox.Show("xxx"); 程序的功能看似没有什么问题,日后我要把这个ViewModel用到WinRT上,你是不是傻眼了?WinRT是没有MessageBox的. 为什么会出现这样的情况呢?请仔细想想,弹出MessageBox是ViewModel…
最近学的一篇课文<说不尽的狗>竟让我有了写<说不尽的MVVM>这一想法,事非亵渎,实出无奈.我在刚学WPF不久时听说有MVVM这种东西,做了下尝试,发现他能给程序的设计带来很大的好处.好东西当然要分享给大家,下面,我们就来认识下MVVM. 预备知识 阅读本文,我假定你具备以下知识: C# 基础知识 XAML基础知识 对事件驱动模型的了解 听说过MVC.MVP.单元测试 MVVM是什么,好吃吗? MVVM全称为Model-View- View Model,是软件工程中的一种软件设计模…
知识预备 阅读本文,我假定你具备以下知识: C# WPF基础知识 知道WPF的命令 WPF相对WinForm加了一种Command的机制,对用户的操作进行更加灵活的处理,相信很多朋友知道并用过Routed Command,但这不是本文讨论的重点,本文主要讨论在MVVM模式中,用户输入与后台数据的交互所用的Command. ICommand接口 在WPF中,所有的命令都是基于ICommand接口的,ICommand的接口有三个成员 Execute 方法 这个方法,顾名思义,是在Command被触发…
上篇我们体验了一个从事件处理程序到MVVM程序的转变,在最后也留下了一个问题:RaisePropertyChanged的原理是什么?今天我们来一探究竟. 通过上节做的小例子我们知道,仅仅修改ViewModel的数据,UI是不会发生变化的,在数据的值被更改后,我们要通知UI,让UI重新来获取数据,这种具备通知能力的属性,就是我们今天的主角--通知属性. 知识预备 阅读本文,我假定你具备以下知识 C#.WPF 基础知识 .NET 反编译器的使用 能看懂基本的IL代码(可选) INotifyPrope…
知识预备 阅读本文,我假定你已经具备以下知识: C#.WPF基础知识 了解Lambda表达式和TPL 对事件驱动模型的了解 知道ICommand接口 发生了什么 某程序员接到一个需求,编写一个媒体渲染器,效果如图,功能就是渲染媒体并在UI上面报告进度,看看他是怎么实现的. 事件驱动模型的实现 首先是界面 三个TextBlock分别负责显示状态.进度和百分号,还有一个按钮让用户启动渲染操作. 点击按钮时,异步调用Render方法. 在Render方法里面更新UI,模拟渲染操作,更新进度. 看起来不…
本文只是博主用来记录笔记,误喷 使用到到了MVVM中消息通知功能 第一步:在需要关闭窗体中注册消息 public UserView() { this.DataContext = new UserViewModel(); InitializeComponent(); //注册消息 Messenger.Default.Register<string>(this,"closeUserView", FunClos); //移除消息 Unloaded += (sender, e) =…
1. 背景 1.1. 话题来源 最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题.问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为如下几类: Netty是否可以做推送服务器? 如果使用Netty开发推送服务,一个服务器最多可以支撑多少个客户端? 使用Netty开发推送服务遇到的各种技术问题. 由于咨询者众多,关注点也比较集中,我希望通过本文的案例分析和对推送服务设计要点的总结,帮助大家在实际工作中少走弯路. 1.2. 推送服务…
1. 背景 1.1. 话题来源 最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题.问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为如下几类: Netty是否可以做推送服务器? 如果使用Netty开发推送服务,一个服务器最多可以支撑多少个客户端? 使用Netty开发推送服务遇到的各种技术问题. 由于咨询者众多,关注点也比较集中,我希望通过本文的案例分析和对推送服务设计要点的总结,帮助大家在实际工作中少走弯路. 1.2. 推送服务…
1. 背景 1.1. 话题来源 最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题.问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为如下几类: Netty是否可以做推送服务器? 如果使用Netty开发推送服务,一个服务器最多可以支撑多少个客户端? 使用Netty开发推送服务遇到的各种技术问题. 由于咨询者众多,关注点也比较集中,我希望通过本文的案例分析和对推送服务设计要点的总结,帮助大家在实际工作中少走弯路. 1.2. 推送服务…
(安装篇)前奏: 提到C++的GUI Framework估计大多数人都会想到MFC.VCL,因为在十年前的COM时代,这两个大家伙几乎垄断了整个C++ windows平台上应用程序的开发市场, 但是最近几年,随着.NET framework的推出.使得MFC这样原本就非常丑陋,麻烦的framework开始风光不再了,我也学过几天的MFC,那种宏作为消息满天飞的编程风格让我很快就放弃了,几次和朋友的交流中,我们都认为C++其实不太适合做GUI程序,但是我必须面对一个问题:当我需要用C++写个GUI…