WPF应用开发项目教程

-
【作 者】陈郑军 刘振东
【I S B N 】978-7-5170-2867-3
【责任编辑】张玉玲
【适用读者群】本专通用
【出版时间】2015-03-10
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第1版第1次印刷
【页 数】220
【千字数】350
【印 张】13.75
【定 价】¥28
【丛 书】高等职业教育“十二五”规划教材
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书以项目化任务驱动式组织教学内容,循序渐进地介绍WPF的开发环境、XAML基础、Application类、窗体、布局控件、常用控件、路由事件、系统命令库、自定义命令、Binding、资源、样式、模板、触发器等,使读者不仅能够学习WPF的各种开发知识,而且能够培养分析问题、解决问题的能力,以更快的速度和更好的效果去掌握WPF开发技术。
全书共6个项目,均是围绕图书管理系统主题展开,每个项目都以一个图书管理典型应用设计,再以多个子任务完成,每个子任务都具有较高的应用价值和代表性。教学内容的设计符合学习者面对问题时的情况,依照任务描述、知识准备、任务分析、任务实施和任务小结5个环节进行,既能科学地解决问题又有很强的锻炼作用。
全书以图书管理系统贯穿全程,将各个知识环节融入案例中,整体知识结构清晰、语言简洁,易于学习和提高,非常适合初学WPF技术的在校大学生和开发爱好者学习参考。
本书建设有精品网络课程(网址:http://moodle.cqdd.cq.cn/course/view.php?id=70,账号:student0,口令:student0),资源详实,对学习者免费开放;另外提供全书任务的源代码、电子教案、授课计划书等教辅资料,请到中国水利水电出版社网站和万水书苑上免费下载,网址为:http://www.waterpub.com.cn/softdown/和http://www.wsbookshow.com。
改进了传统的教学组织模式,通过一个个项目来进行教学,每个项目都遵循项目需求、任务分解、知识准备、任务分析、任务实施和任务小结的有序组织结构,让学生在学习相关理论知识之前就能够了解到这些知识在实际项目开发中的作用,调动其学习的积极性和主动性,培养自主学习的能力。
项目的分解分布组织教学为学生搭建了知识和应用之间的桥梁,每个项目都在进行“问题是什么、问题需要什么知识、问题如何解决”的循序渐进学习和思考,能够培养学生分析问题、解决问题的能力。
每个项目后的专项技能训练可帮助学生巩固所学、拓展知识和技能。
从最早的到广泛应用的Windows 95再到如今的Windows 8.1操作系统,微软Windows可视化开发技术已经出现将近20年。其间出现了很多优秀的开发工具,但它们使用的都是在过去十多年中基本没有变化的Windows技术。Windows窗体依靠Windows API建立标准化的用户界面元素可视化的外观,如按钮、文本框和复选框等。一直以来这些要素在本质上都是不可定制的。软件开发人员如果希望创建一个外观酷炫的界面,则必须自定义控件,使用低级的绘图模型来绘制控件各个方面的细节,极端情况下甚至必须手工绘制每一个细节。不仅如此,程序员还要对API非常熟悉才能完成这项艰巨的任务。
从.NET Framework 3.0开始,基于DirectX功能强大的基础结构的WPF技术闪亮登场,它通过引入一个使用完全不同技术的新模型改变了所有这一切。WPF将以前Windows开发领域中的精华和当今的创新技术融为一体,来构建现代的富图形用户界面。使用这些特性,WPF可以重新设置几乎所有控件的样式,不仅操作简便,而且通常还不需要编写任何代码。
为了帮助更多的软件开发人员学习WPF技术,编者精心编写了本书。本书在内容编排和目录组织上都十分讲究,力争让读者能够更快更好地掌握WPF开发技术。本书主要依托微软的Visual Studio 2012集成开发环境,结合了多位一线教师、行业专家和企业技术人员在教学和研发中积累的经验,将WPF技术常用知识融入到6个项目中,以学习者的角度详细介绍了WPF技术的相关知识。
全书以图书管理系统为总纲,包含6个项目,分别是:项目一 WPF基础—“Hello World!”程序制作;项目二 WPF布局设计—图书管理系统UI设计;项目三 WPF的路由事件—登录和注册程序实现;项目四 WPF命令—窗体清除功能的实现;项目五 WPF绑定—注册信息入库;项目六 WPF资源、样式和模板—项目美化。
本书改进了传统的教学组织模式,通过一个个项目来进行教学,每个项目都遵循项目需求、任务分解、知识准备、任务分析、任务实施和任务小结的有序组织结构。让学习者在学习相关理论知识之前就能够了解到这些知识在实际项目开发中的作用,调动其学习的积极性和主动性,培养自主学习的能力。项目的分解分布组织教学也为学习者搭建了知识和应用之间的桥梁,每个项目都在进行“问题是什么、问题需要什么知识、问题如何解决”的循序渐进学习和思考,能够培养学生分析问题、解决问题的能力,对于提高学习者的动手能力大有裨益。同时每个项目后的专项技能训练,可以帮助学习者巩固所学、拓展知识和技能。
本书紧密结合教学与研发,更结合学习者的学习习惯和认知规律,所设计的项目综合了WPF开发技术的基础知识,同时强化了学生动手能力的培养,是一本非常适合于WPF开发技术学习的入门教材。
本书由陈郑军、刘振东任主编,胡方霞、周树语、伍技祥、黄柯祥、张涛任副主编。其中陈郑军编写项目一至项目三,并负责全书的统稿工作,刘振东编写项目四至项目六,胡方霞教授负责教材审稿工作,周树语和伍技祥两位副教授负责教材课程大纲编写和电子教案的制作,德克特公司的周继松、黄柯翔和张涛负责图书管理系统项目的软件设计、编码,以及其他企业案例的提供工作。
在本书的编写过程中作者得到了重庆工商职业学院各级领导的大力支持和帮助,在此表示衷心的感谢。同时,在教材编写过程中作者参考了大量相关资料,包括教材、科研文献、博客文章等,吸取了许多前辈、专家和同仁的宝贵经验,在此一并致谢。
由于作者水平所限,书中疏漏甚至错误之处在所难免,恳请广大读者批评指正。
编 者
2014年12月
程序制作 1
【项目描述】 1
【学习目标】 1
【能力目标】 1
任务1.1 搭建WPF开发环境 1
1.1.1 WPF是什么 2
1.1.2 WPF的特点 2
1.1.3 WPF的组成结构 3
1.1.4 WPF和Silverlight的关系 4
任务1.2 设计简单XAML程序 9
1.2.1 XAML是什么 9
1.2.2 XAML语法基础 10
1.2.3 WPF中的树 17
【项目总结】 22
【项目实训】 22
项目二 WPF布局设计—图书管理系统
UI设计 23
【项目描述】 23
【学习目标】 23
【能力目标】 23
任务2.1 设计图书管理系统登录界面 23
2.1.1 认识Application 24
2.1.2 认识窗体 26
2.1.3 主窗体的启动模式 30
2.1.4 不规则窗体 31
任务2.2 设计图书管理系统用户注册界面 37
2.2.1 理解WPF布局 37
2.2.2 WPF布局原则 38
2.2.3 布局过程 39
2.2.4 布局元素 39
2.2.5 Grid面板 40
2.2.6 StackPanel面板 44
2.2.7 Canvas面板 45
2.2.8 DockPanel面板 46
2.2.9 WrapPanel面板 47
任务2.3 设计图书管理系统主界面 50
2.3.1 什么是控件 51
2.3.2 控件的类型 51
2.3.3 WPF菜单控件(Menu) 56
2.3.4 WPF工具栏和状态栏控件 60
2.3.5 WPF范围控件:滚动条、进展条、
滑动条 62
2.3.6 用户自定义控件 63
【项目总结】 69
【项目实训】 69
项目三 WPF的路由事件—登录和注册
程序实现 70
【项目描述】 70
【学习目标】 70
【能力目标】 70
任务3.1 完成登录窗体事件处理 70
3.1.1 什么是路由事件 70
3.1.2 为路由事件添加和实现事件处理程序 74
任务3.2 完成注册窗体事件处理 87
3.2.1 WPF事件简介 87
3.2.2 键盘输入事件 88
3.2.3 鼠标输入 91
【项目总结】 98
【项目实训】 98
项目四 WPF命令—窗体清除功能的实现 99
【项目描述】 99
【学习目标】 99
【能力目标】 99
任务4.1 创建使用简单命令的程序 99
4.1.1 命令是什么 100
4.1.2 WPF的命令库 100
4.1.3 命令绑定 103
任务4.2 创建使用复杂命令的程序 105
4.2.1 命令系统的基本元素 106
4.2.2 命令系统的基本元素之间的关系 106
任务4.3 创建使用自定义命令的程序 111
4.3.1 自定义命令 111
4.3.2 自定义命令的使用 112
任务4.4 使用命令实现清除功能 114
4.4.1 命令参数 115
4.4.2 命令参数的使用 115
【项目总结】 121
【项目实训】 122
项目五 WPF绑定—注册信息入库 123
【项目描述】 123
【学习目标】 123
【能力目标】 123
任务5.1 创建一个使用Binding的简单程序 123
5.1.1 数据绑定概述 124
5.1.2 Binding基础 124
5.1.3 最简单的数据绑定 125
5.1.4 控制Binding的方向及数据更新 127
任务5.2 创建显示自定义颜色的程序 132
5.2.1 Binding的路径(Path) 133
5.2.2 用Source绑定到CLR对象 135
5.2.3 使用Binding的RelativeSource 140
任务5.3 注册用户的信息查询 145
5.3.1 使用DataContext作为数据源 145
5.3.2 使用集合对象作为列表控件
的ItemsSource 148
任务5.4 注册信息入库 164
5.4.1 数据验证概述 165
5.4.2 数据验证规则 166
【项目总结】 177
【项目实训】 177
项目六 WPF资源、样式和模板—项目美化 179
【项目描述】 179
【学习目标】 179
【能力目标】 179
任务6.1 美化读者信息修改界面的
TextBlock控件 179
6.1.1 资源 179
6.1.2 资源的定义及XAML中的引用 182
6.1.3 XAML解析资源的顺序 184
6.1.4 静态资源(StaticResource)和动态
资源(DynamicResource) 186
任务6.2 美化读者添加界面的TextBox
控件 191
6.2.1 Style元素 191
6.2.2 模板 192
任务6.3 美化读者借书界面的Button控件 196
6.3.1 触发器概述 196
6.3.2 触发器类型 197
任务6.4 美化读者管理界面的
DataGrid控件 206
6.4.1 DataGrid控件 206
6.4.2 自定义DataGrid控件的模板 207
【项目总结】 212
【项目实训】 213
参考文献 214
- 信息技术基础(麒麟操作系统+WPS Office) [主编 芮雪 蒋莉 王亮亮]
- Office高级应用项目式教程(第2版) [主编 李观金 张倩文 黎夏克 ]
- 巧用翻译学英语:英汉互译500例 [王学文 著]
- 高等教育多维评价体系构建与高质量发展研究 [张妍 著]
- 系统规划与管理师章节习题与考点特训(第二版) [主编 薛大龙]
- 计算机操作系统实践指导(openEuler版) [主编 秦光 曾陈萍 岳付强]
- 信息系统管理工程师真题及模考卷精析(适用机考) [主 编 薛大龙 程 刚 上官绪]
- 航海类院校体育教育教学研究 [张利超 李宁 著]
- 新时代背景下我国职业教育产教融合长效机制建设研究 [王玉贤 著]
- 电路分析 [主编 李飞 毛先柏]
- 信息系统管理工程师(适用第2版大纲)一站通关 [指尖疯 编著]
- 传统山水画论解读与实践 [陈钠 著]
- 网络工程师备考一本通(适配第6版考纲) [夏杰 编著]
- 陈孝云的职教理想与情怀 [祝吉太 江传瑞 张义廷 著]
- 地方本科院校电子信息学科课程思政案例集 [王甫]
- Excel数据处理与分析(第二版) [主编 张志明 邹 蕾]
- 网络工程师5天修炼(适配第6版考纲) [主编 朱小平 施游]
- 仓储管理实务(第二版) [周宁武 编著]
- 基于AE与C#的地理信息系统二次开发 [李小根 贾艳昌 乔翠平 姜彤 ]
- 2023年长沙市文化和旅游业发展报告 [主编 陈莉]
- 舞台化妆造型设计 [主编 刘思彤 张 涛 张忆雨]
- 产教融合视角高校体育专业实践教学体系构建研究 [杨柳青 叶华兵 著]
- 知识图谱及应用案例 [张善文 黄文准 于长青 陈明淑]
- Python程序设计案例教程(微课版) [主编 石利平 田辉平 余以胜]
- 皓月繁星:青少年儿童心理成长手册 [主 编 林赞歌 副主编 杜志南]
- 材料力学 [章宝华 赵新胜 徐斌]
- 系统集成项目管理工程师考试32小时通关(第3版) [主编 薛大龙 副主编 上官绪阳]
- 软考论文高分特训与范文10篇——系统分析师(第二版) [薛大龙 邹月平 施游]
- 黄河海勃湾水利枢纽防凌安全运行 [王战领 王丛发 范瑜彬 著]
- 大学生心理健康教育 [方雄 著]