最近一个项目准备用WPF,这里记录一下学习过程,也许对各位同仁也许有些用处。
通过这个例子,了解WFP的一些基本的情况。
- 打开Visual studio 2010 [新建项目]:
如上图,注意,选“On line template" 然后,选择:“WPF MVVM poject template”
- 确定后,如下:
然后运行一下,这一切看起来也没有什么。
- 但因为叫MVVM,自然有其体现MVVM之处。
如下图所示,但这只是冰山一角。
注意:Refreash的属性中,有一个Command ,它的值,采用了Binding这种xaml token: 见:
XAML Overview (WPF)
我们现在知道,一定是在LoadComponent中,完成了界面View与ModeView的关联,也就是一种绑定。
如果,在WPF设计器上,双击一个button,也会生成代码,但是这种,相对就是紧耦合,而不象MVVM这样,界面与后台完全分离。
这也是WPF设计的根本思想:使得美工与coding分离。
当然,这也是一个正常的社会的发展思路:专业化,精细化,而不是每个人都是辩别哪个磨姑能吃的专家。跑题,还是别想吃蘑菇,这玩意有重元素富集作用,用于清理核污染是一把好手---说正事。
我写了这么多,目的就是想了解几个事,一个就是MVVM是如何完成界面与视图控制的部分分离的,上面我们看到binding是关键token.
但框架在哪里实现的呢?
- 如果我们自己编写XAML装载器,会怎么做?
剩下的,本人实在能力有限,虽然看到了反编译的代码,量太大,看了一些想到还有许多活要干,请大家自己研究吧。
要是有人知道,如何能把反编译工具,和Visual studio联合起来,用于调试,请给以指点。今天是我第一天正经开始研究WPF。请大家见谅。
主要就集中在这两个库中。PresentationFramework.dll 的 Windows和Markup
要是有人,能找到PresentationFramework.dll的原码,或是如何用调试符号来跟踪,也请给下提示。
后面,我把这个工程生成的exe,进行了反编译,并且,手工又改到可以运行的程度。
等我知道如何上传代码,把它们传上来。
代码我放在这里了,以后有时间,我再来细说一下,在还原反编译的WPF工程时,需要做哪些工作:
http://download.youkuaiyun.com/detail/haoyujie/5166693