WPF快速入手(一.1)

来源:互联网 发布:下载java软件 编辑:程序博客网 时间:2024/06/03 01:54
本人以前单位是使用JavaB/S开发的。近期刚刚跳槽到了一家不错的公司,很幸运的赶上项目中使用WPF,于是便踏上了WPF之路。虽然以前大学时也学习过很长一段时间的C#,不过那时候的.NET才刚刚到2.0 Beta版,和现在比起来很多特性都还没有,而且缺少项目实践,因此,只是学 习到了C#的基础知识。

 

  经过了一段时间的项目培训和学习,对WPF已经有了一定了了解,总结了以下,拟定了一套比较快速的入手练习,供大家分享,希望能够对各位初学者快速入手有所帮助。练习过程中,部分内容会做一些中英文互译便于大家理解及日后阅读相关资料,再有就是一些不太方便翻译的内容,为了不误导大家还是直接用英文了。

 

 读者定位

  在校学生:在校学生有志向学习新的知识,但是经常苦于没有项目实践,即使有一些模拟项目,但由于没有实际参与过项目的开发,经常会不经意间忽略掉许多实际问题或是没有一个好的成熟的解决方案。(我在学校时就是如此,虽然当时认为自己挺不错的了,但是现在回过头来看看自己当时写的东西,确实自己都有些发笑)因此,在后续的文章中,我会尽量融入一些实际工作中的经验,供大家参考,相信会有一定的指导意义。

项目工作者:项目工作需要接触到WPF,但是还没有入手的朋友们,借此可以体会以下WPF的在项目工作中的实际效益。

熟悉WPF的人:对这些人群就没有什么指导意义了,希望各位大哥帮忙审阅一下吧,如果有什么描述不周的地方还请及时指点。

 

 基础知识

  当然,快速学习绝不是从零学起的,良好的基础是快速入手的关键,下面先为大家摞列以下自己总结的学习WPF的几点基础知识:

 

1)      C#基础语法知识(或者其他.NET支持的语言):这个是当然的了,虽然WPFXAML配置的,但是总还是要写代码的,相信各位读者应该也都有这个基础了。

2)      HTML语言:虽然WPF是窗体程序但是由于使用的XAML语言,如果以前接触过HTMLXHTMLASP.NET之路的东西的话会,接受这些标签会很有帮助的,如果以前一直是从事win form开的人来说可能就要适应一下了。

3)      C#中的代理、事件要做到熟练掌握,在.NET 3.0 版本后有增加了Routed Events,要想日后不糊涂,这个是基础。

4)      有一定的winformASP.NET经验,主要是对控件事件的处理要有写了解。

5)      拥有良好的面向对象的思想:思想是语言的升华(本人的OO思想完全是Java中领悟来的)。在WPF中,经常要灵活运用各种继承关系、多态、重载等,因此一定要把基础知识打牢固。

6)      DataBinding要有所了解:BindingWPF的一大亮点,在接触它以前如果接触国ADO.NET里面的DataBinding的话对相对起来会容易接受一点,虽然这两个有一定的不同(加分项)

7)      对设计模式要有一定的了解:当然是越深入越好了,在实际项目中,各种设计模式经常交融使用,快速的识别并合理的运用,无论是在开发还是调试时都是非常高效的。另外,WPF存在的初衷即是表现与逻辑的松耦合,最普遍的情况就是XAML作为表现层,背后.cs文件作为逻辑层。因此,日后在从事项目工作时,要时刻谨记这一点,千万不可背道而驰。不要为了凸显自己的某一些代码特长而将各种逻辑混写在一起,这样非常不实际的,这一点都在校生应该尤为重要(这里没有鄙视在校学生的意思,因为,我在上学的时候就经常犯这种错误,因此前车之鉴,请各位不要再走前人的弯路罢了)。(加分项)

8)      XML的理解:XAML也是XML,对XML的理解绝对有助于快速的接受和使用XAML,并不需要多XML有多么高深的见解,但是最好还是有空看一看XML相关的书籍http://www.w3.org/TR/2000/WD-xml-2e-20000814。无论是WPFWCP以及底层一些的SOAP等都是很有帮助的。(加分项)

 

 入手练习基础环境

  开发环境:VS 2008

 

  数据库:本机SQL Server 2005(这里给大家一个提醒,如果大家的机子是Windows XP的话,无论是home 或是 professional,一定不要安装SQL Server 2005 Enterprise Edition,在《安装 SQL Server 2005 的硬件和软件要求》中“操作系统要求”列表有写到2005 Enterprise Edition 不支持 XP),建议安装Developer Edition,一定安装数据库实例。

 

 练习内容

  具备以上基础条件后,开始入手练习,大家不要抱怨入手练习有写难度,毕竟是快速入门要有一定的跳跃性:

 

  我们要做一个WPF程序,功能很简单:

 

1)      从数据库(本地数据库(local)/AdventureWorks中的person.contact表中提取用户的ContactID,FirstName,LastName,EmailAddress数据,展示到Form上的一个ListView上。(由于是WPF练习,对于ADO.NET相关的东西在此不做介绍,知识使用而已)

2)      当鼠标或其他设备选中结果某一项记录时,在List框下面展示出细节。

3)      修改其中的内容后,结果联动更新到List框及数据库中。

 

  想象以下这样一个东西如果在以前使用winform实现会是什么样子呢?应该会写不少的方法、属性用于界面之间及界面与数据库之间的联动。今天这个练习就先展示以下WPF的技术亮点之一:DataBinding。在制作过程中,还会为大家不断接受一些控件、布局等相关知识和技巧,部分相关的知识内容与此练习关系不大的,我将会用浅灰色字体带过,对于熟悉这部分内容的读者可以直接跳过。

原创粉丝点击