WPF、MVVM和Prism学习历程

面对从天而降的两个专有名词,今日我开始了漫漫Mvvm和Prism的学习之路。

之前一直在做WinForm的开发,本身WPF就接触的不多,更别提Siverlight了。

好了说正题。


首先是进行5个小时左右的Silverlight学习,资料来源是Lynda.com.Silverlight.5.Essential.Training

主要要学习的核心内容包括

  • XAML(eXtensible Application Markup Language),可扩展应用程序标记语言
  • Dependency Property,依赖属性
  • DataBinding,数据绑定

通俗来讲,XAML就是用XML的形式将界面“画”出来,DP则是Property的增强版,数据绑定则是建立传输数据的通道。


XAML拥有丰富的特性让你实现各种UI上的变化,让设计师们能充分的发挥自己的特长,本人不是设计师,所以这块就简单看过。

DP对应依赖属性,包含依赖属性的类,就叫做依赖对象,WPF中所有的UI控件都是依赖对象。所谓依赖属性和依赖对象,从原理上将,依赖对象的属性不是常年驻扎在内存中的,而是需要时实例化,这样对系统而言就大大减少了以往的大量对内存的占用。另外,依赖属性可以充分发挥数据绑定的优势。

数据绑定主要是针对UI自己以及UI和模型之间的数据绑定,建立这些数据的通道,可以实现模型和界面之间的自动交互(无需在写事件处理代码)


我理解所谓的MVVM,就是利用数据绑定和依赖属性的特性而实现的这种自动的数据交互。

首先,我先看了刘大神的这个关于MVVM的入门视频《深入浅出WPF》系列视频(特辑)——MVVM入门与提高(难度300+)

视频很模糊,但基本概念讲的很清晰,跟着视频一起写一遍代码基本就能对MVVM了解个差不多了。

构造MVVM的时候,主要便是ViewModel类和Command类的建立。
Command类实现接口ICommand(UI将来也是通过ICommand来实现命令绑定),对命令的执行、参数、判断条件等进行个性化的配置。

ViewModel类主要负责数据的承载,Command命令的实现,这个类需实现接口INotifyPropertyChanged以实现数据变化的通知。ViewModel的数据为自己的依赖属性,也可以是依赖属性对应的依赖类的依赖属性(O.O有点绕?)。ViewModel中定义的ICommand属性可以看成是命令的依赖属性,绑定的则是UI中的事件。


至此,MVVM的基本原理就算是完成了,至于Prism,我理解是微软提供的一套封装好了的MVVM程序集,类似的还有MVVMlight等,通过对其提供的程序集的应用,可以更高效的实现MVVM程序的搭建。


参考的学习资料:

《深入浅出WPF》

《Prism4》

Prism4的样例程序

《深入浅出WPF》系列视频(特辑)——MVVM入门与提高(难度300+)

In the Box - MVVM Training Extension for VS.NET

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值