WPF 札记-概述

最近想看看WPF,上MSDN看了看,觉得讲的不够的彻底,许多概念在MSDN上讲的都是那么的晦涩,有的时候看了半天也没有搞懂里面到底说的个什么意思,上网找关于WPF的书,最终决定 买了一本《WPF编程宝典-C# 2010版》,看了几章觉得里面讲的还是很不错的,特别适合有一定.Net 基础的学习WPF,里面讲的很基础,很适合入门WPF。我的观点一向是把基础打牢靠,比看许多高级应用事例要好的多,我决定将研读笔记记录下来,希望能够对想学WPF的入门者有帮助。

几个概念介绍一下:

XAML:全称“可扩展的应用程序标记语言”,发音“zammel”(对于这些英文缩写的发音很重要,能让你在技术沟通上保证无障碍),它是独立于WPF的一个模块。它的作用是讲.net中所有定义的类对象映射到XML上,在XML上按照一定的语法写一些XML,那么在编译的时候将会转化成可调用的对象去执行。WPF中所有的大部分的控件是再System.Windows.Controls命名空间下面,而XAML将这个命名空间下面的所有类做了映射,所有能够像写HTML一样去布局界面。在XAML这样的基础之上,WF(workFlow工作流)也再再此基础之上建立的。XMAL自己实现扩展也很方便,甚至可以用XAML去坐出Winform界面出来。

SilverLight:中文名“银光”,是WPF的一个子集,主要用于WEB方面,至于的应用情况我也不是太清楚,与WPF功能上是有一定差别的。

WPF:这个是什么我就不说了。想学习的人都应该有所了解吧!

WPF界面与传统应用程序:

1.传统winfrom用得是user32提供一些基本元素组成的,一些图形是通过GDI/GDI+做得。WPF完全采用的DirectX图形引擎渲染的,性能再一定程度上取决于机器的显卡。有些人说WPF程序很慢,那可能有两个原因:一个是用户的显卡估计真得是很烂,另外一个可能开发者过度的追求一些效果了。

2.WPF单位尺寸与分辨率无关性,这个可能会导致一些字体和图形的模糊,在WPF4中有方式可以解决这个问题,但是也会带来另外的一些问题,具体的在以后的笔记中我会做一些说明。但是并不是这样设计不好,它有很多的好处,比如说计算缩放,布局,屏幕分辨率的变化对应用程序界面布局的影响,总得来说还是利大于弊的。我之前再坐winfrom的时候,总是会因为不同机器分辨率的问题去调整界面的布局,很是烦啊!

3.WPF上动画虽然比不上flash,但是已经很不错了,比起在winfrom中用一个timer来控制一个动画效果要好的很多啊!

4.布局:不得不佩服,WPF的布局正的很强大,并不是Winfrom上几个框框分一下就了事的!

5.WPF控件的一个重要概念是控件无样式,所有的样式和显示模板都专门的文件来定义(使得整个应用程序有着统一的外观),这样外观完全可以交给设计人员去坐,winfrom中外观相关的一些东西都要程序来控制,无疑增加代码的复杂度,使程序变的难以维护,而且让一个敲代码的去设计界面可想而知有多么的不协调。

6.绑定:WPF中绑定机制可以做到一些winfrom中无法做到的事情,比如两个控件之间属性的绑定,在winfrom必须借助数据来才能做到,再WPF中可以直接绑定。WInform中的数据绑定老是出项一些莫名奇妙的问题,这也是我之前坐winform程序时比较头疼的问。WPF中绑定的一些机制分得很清楚,莫名奇妙的错误基本上不会出现。

 

关于WPF前景(个人观点):

前几天有公司同事看见我再看WPF,就说WPF是一个快死的技术了你还看。我辩驳一番,我并不是辩驳说WPF不会死掉,而是说每一个技术都它的生命周期的,在这个生命周期之内,它都是有价值的,这个生命周期是由它的替代技术决定的。无可厚非HTML5将会最终界面霸主(据说win8系统中会采用HTML5来做应用程序界面,flash现在停止一些开发了),但是目前看来HTML5标准和应用还没有完全的流行起来,各个浏览器支持程度也各有不同。所以至HTML5这个替代技术完全发展之前,WPF还有需要的,毕竟Winform再许多地方不能满足需求,有XAML这样一个东西将来HTML5发展起来了,你的应用程序转成HTML5的也许并不是什么难事。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值