WPF编程宝典:使用C_#.2008和.NET.3.5(第2版)(奋斗的小鸟)_PDF 电子书

2024-04-12 11:38

本文主要是介绍WPF编程宝典:使用C_#.2008和.NET.3.5(第2版)(奋斗的小鸟)_PDF 电子书,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


下载地址:http://pan.baidu.com/share/link?shareid=2084886567&uk=721744522 

 

QQ:2864670220
点击这里给我发消息

 

内容简介

《WPF编程宝典:使用C# 2008和.NET 3.5》在亚马逊网站上深受读者好评.由微软公司的最有价值专家Matthew MacDonald倾力而作,凝聚了Matthew多年来积累的丰富实践经验,是目前最全面的一本介绍WPF编程技术的书籍。书中不仅全面介绍了常见的图形界面编程技术,而且对WPF中非常有特色的文档和打印、音频和视频、动画、3D图形开发、多线程和插件等内容也进行了比较深入的介绍。

作者简介

Matthew MacDonald,曾荣获微软最有价值专家称号,并通过了微软的MCSD认证,是一位知名作家、教育家。他在编程方面作出了许多重要贡献,撰写了多本有关.NET编程的经典书籍。除本书外,Matthew的著作还包括Pro.NET 2.0 Windows Formsand Custom Controls(Apress)、Pr0.NET 2.0 WindoWS Formsand Custom COiltrois in VB2005(Apress)和Pro WPF: WindowsPresentation Foundation in.NET3.O(Apmss)。

目录

第1章 WPF概述
1.1 理解Wind0Ws图形
1.1.1 Directx:新的图形引擎
1.1.2 硬件加速与WPF
1.2 WPF:高级API
1.2.1 分辨率无关性
1.2.2 wPF的演化
1.2.3 WindL0WS窗体将继续保留
1.2.4 Direct)(也将继续保留
1.2.5 Silvcrlight
1.3 WPF体系结构
1.4 结束语

第2章 XAML
2.1 理解XAML
2.1.1 wPF之前的图形用户界面
2.1.2 XAML变体
2.1.3 XAML编译
2.2 XAML基础
2.2.1 XAML名称空间
2.2.2 后台代码类
2.3 xAML中的属性和事件
2.3.1 简单属性与类型转换器
2.3.2 复杂属性
2.3.3 标记扩展
2.3.4 附加属性
2.3.5 嵌套元素
2.3.6 特殊字符与空白字符
2.3.7 事件
2.3.8 完整的EightBall示例程序
2.4 使用其他名称空间中的类型
2.5 加载和编译XAML
2.5.1 只使用代码
2.5.2 使用代码和未编译的XAML
2.5.3 使用代码和编译过的xAML
2.5.4 只使用XAML
2.6 结束语

第3章 AppIicatl0n类
3.1 应用程序的生命周期
3.1.1 创建Applicati0n对象
3.1.2 派生一个自定义的
Applicati0n类
3.1.3 应用程序的关闭方式
3.1.4 应用程序事件
3.2 Applicati0n类的任务
3.2.1 处理命令行参数
3.2.2 访问当前Applicati0n对象
3.2.3 在窗口之间进行交互
3.2.4 单实例应用程序
3.3 结束语

第4章 布局
4.1 理解wPF中的布局
4.1.1 wPF布局原则
4.1.2 布局过程
4.1.3 布局包容器
4.2 使用StackPanel面板进行简单布局
4.2.1 布局属性
4.2.2 对齐方式
4.2.3 外边距
4.2.4 最小尺寸、最大尺寸以及显式地设置尺寸
4.3 WlrapPanel面板和D0ckPanel面板
4.3.1 WmpPaIlel面板
4.3.2 D0cld)anel面板
4.3.3 嵌套布局包容器
4.4 Grid面板
4.4.1 调整行和列
4.4.2 跨越行和列
4.4.3 分割窗口
4.4.4 共享尺寸组
4.4.5 Unif0rmGrid面板
4.5 使用Canvas面板进行基于坐标的布局
4.5.1 Z顺序
4.5.2 lnkCanyas元素
4.6 布局示例
4.6.1 列设置
4.6.2 动态内容
4.6 13组合式用户界面
4.7 结束语

第5章 内容
5.1 理解内容控件
5.1.1 C0ntent属性
5.1.2 对齐内容
5.1 _3wPF内容原则
5.2 特殊包容器控件
5.2.1 Scr0llViewer包容器控件
5.2.2 Gr0uplB0x和TabItem:带标题的内容控件
5.2.3 EXpander控件
5.3 装饰控件
5.3.1 B0rder控件
5.3.2 Ⅵewb0x控件
5.4 结束语

第6章 依赖项属性和路由事件
6.1 理解依赖项属性
6.1.1 定义和注册依赖项属性
6.1.2 wPF使用依赖项属性的方式
6.2 理解路由事件
6.2.1 定义和注册路由事件
6.2.2 关联事件处理程序
6.2.3 事件路由
6.3 WPF事件
6.3.1 生命周期事件
6.3.2 输入事件
6.3.3 键盘输入
6-3.4 鼠标输入
6.4 结束语

第7章 经典控件
7.1 控件类
7.1.1 背景画刷和前景画刷
7.1.2 字体
7.1.3 鼠标光标
7.2 内容控件
7.2.1 标签
7.2.2 按钮
7.2.3 工具提示
7.3 文本控件
7.3.1 多行文本
7.3.2 选择文本
7.3.3 TextB0x控件的其他特征
7.3.4 Passw0r衄0x控件
7.4 列表控件
7.4.1 ListB0x控件
7.4.2 C0mb0B0x控件
7.5 基于范围的控件
7.5.1 Slider控件
7.5.2 进度条
7.6 结束语

第8章 窗口
8.1 wind0W类
8.1.1 显示窗口
8.1.2 定位窗口
8.1.3 保存和恢复窗口位置
8.2 窗口交互
8.2.1 窗口所有权
8.2.2 对话框模型
8.2.3 通用对话框
8.3 非矩形窗口
8.3.1 简单形状窗口
8.3.2 具有形状内容的透明窗口
8.3.3 移动任意形状窗口
8.3.4 改变任意形状窗口的尺寸
8.4 Vista风格的窗口
8.4.1 使用w_md0wsVista玻璃效果
8.4.2 任务对话框和文件对话框
8.5 结束语

第9章 页面和导航
9.1 理解基于页面的导航
9.2 基于页面的用户界面
9.2.1 一个具有导航功能的基于
页面的简单应用程序
9.2.2 Page类
9.2.3 超链接
9.2.4 在一个框架中宿主页面
9.2.5 在另外一个页面中宿主页面
9.2.6 在Web浏览器中宿主页面
9.3 页面历史
9.3.1 深入分析WPF中的uRI
9.3.2 导航历史
9.3.3 维护自定义的属性
9.4 导航服务
9.4.1 通过编程进行导航
9.4 12导航事件
9.4.3 管理日志
9.4.4 向日志添加自定义项
9.4.5 页函数
9.5 XAML浏览器应用程序
9.5.1 XBAP应用程序的运行要求
9.5.2 创建xBAP应用程序
9.5.3 部署xBAP应用程序
9.5.4 更新XBAP应用程序
9.5.5 XBAP应用程序的安全性
9.5.6 完全信任的xBAP应用程序
9.5.7 联合XBAP应用程序和标准的单机应用程序
9.5.8 为不同的安全级别编写代码
9.5.9 在web页面中嵌入xBAP应用程序
9.6 结束语

第10章 命令
10.1 理解命令
10.2 wPF命令模型
10.2.1 IC0mmaJld接口
10.2.2 R叫tedC0mmand类
10.2.3 R0uteduIc0mmand类
10.2.4 命令库
10.3 执行命令
10.3.1 命令源
l0.3.2 命令绑定
10.3.3 使用多命令源
l0.3.4 微调命令文本
10.3.5 直接调用命令
10.3.6 禁用命令
l0.3.7 具有内置命令的控件
l0.4 高级命令
10.4.1 自定义命令
10.4.2 在不同的位置使用相同的命令
l0.4.3 使用命令参数
10.4.4 跟踪和翻转命令
10.5 结束语

第11章 资源
11.1 程序集资源
11.1.1 添加资源
11.1.2 检索资源
11.1.3 packURJ
11.1.4 内容文件
11.2 本地化
11.2.1 构建本地化用户界面
11.2.2 使应用程序为本地化做好准备
11.2.3 翻译过程
11.3 对象资源
1l.3.1 资源集合
11.3.2 资源层次
11.3.3 静态资源和动态资源
11.3.4 非共享资源
ll.3.5 通过代码访问资源
11.3.6 应用程序资源
11.3.7 系统资源
11.3.8 使用资源字典组织资源
11.3.9 在程序集之间共享资源
11.4 结束语

第12章 样式
12.1 样式基础
12.1.1 创建样式对象
12.1.2 设置属性
12.1.3 关联事件处理程序
12.1.4 多层样式
12.1.5 通过类型自动应用样式
12.2 触发器
12.2.1 简单触发器
12.2.2 事件触发器
12.3 结束语

第13章 形状、变换和画刷
13.1 理解形状
13.1.1 ShaDe类
13.1.2 矩形和椭圆
13.1.3 改变形状的尺寸和放置形状
13.1.4 直线
13.1.5 折线
13.1.6 多边形
13.1.7 直线线帽和直线交点
13.1.8 点划线
13.1.9 像素对齐
13.2 变换
13.2.1 变换形状
13.2.2 变换元素
13.3 更好的画刷
13.3.1 LineaGradientBmsh画刷
13.3.2 RadialGra0dientBmsh画刷
13.3.3 ImageBnlsh画刷
13.3.4 平铺的ImageBmsh画刷
13.3.5 visualBnlsh画刷
13.3.6 透明掩码
13.4 位图效果
13.4.1 模糊效果
13.4.2 斜面边缘效果
13.4.3 浮雕边缘效果
13.4.4 光环和阴影
13.5 结束语

第14章 图形、图画和可视化对象
14.1 路径和图形
14.1.1 直线、矩形和椭圆图形
14.1.2 使用Ge0metruGr0up组合形状
14.1.3 使用C0mbinedGe0metry融合图形
14.1.4 使用PathGe0metry绘制曲线和直线
14.1.5 微语言图形
14.1.6 使用图形进行剪裁
14.2 图画
14.2.1 显示图画
14.2.2 导出插图
14.3 可视化对象
14.3.1 绘制可视化对象
14.3.2 在元素中包装可视化对象
14.3.3 命中测试
14.3.4 复杂的命中测试
14.4 结束语

第15章 控件模板
15.1 理解逻辑树和可视化树
15.2 理解模板
15.2.1 修饰类
15.2.2 剖析控件
15.3 创建控件模板
15.3.1 简单按钮模板
15.3.2 模板绑定
15.3.3 模板触发器
15.4 组织模板资源
……
第16章 数据绑定
第17章 数据模板、数据视图和数据提供者
第18章 列表、树、工具条和菜单
第19章 文档
第20章 打印
第21章 动画
第22章 声音和视频
第23章 3D绘图
第24章 自定义元素
第25章 与Windows窗体的互操作
第26章 多线程和插件

前言

当.NET第一次出现时,它引入了一些重要的新技术。包括编写Web应用程序的全新方法(ASP.NET)、连接数据库的全新方法(ADO.NET)、新的类型安全的语言(C#和VB.NET),以及托管的运行时(CLR)。在这些新技术中最重要的是Windows窗体,它是用于构建Windows应用程序的一套类库。
  尽管Windows窗体是一个成熟且非常完善的工具包,但它使用的是在过去十年中本质上并无变化的Windows技术。最重要的是,Windows窗体依靠WindowsAPI来创建标准用户界面元素的可视化外观,如按钮、文本框、复选框等。所以,这些要素在本质上是不可定制的。
  例如,如果希望创建一个时髦的光晕按钮,就需要创建一个自定义控件,并使用低级的绘图模型为按钮各种不同的状态绘制各个方面的细节。更糟糕的是,普通的窗口被切割成不同的区域,每个控件完全拥有自己的区域。所以,没有比较好的绘制方法可以将一个控件的内容(如按钮背后的发光效果)辐射到其他控件。更不要指望实现动画效果,如旋转的文本、闪烁的按钮、收缩的窗口,以及生动的预览,因为对于这些效果必需手工绘制每个细节。
  Windows呈现基础(Windows Presentation Foundation,wPF)通过一个使用完全不同技术的新模型改变了所有的一切。尽管WPF也提供了熟悉的标准控件,但是它自己负责绘制每个文本、边框和背景填充。所以,WPF能够提供更强大的功能,可以改变渲染屏幕上所有内容的方式。使用这些特性,可以重新样式化通用控件,如按钮,并且通常不需要编写任何代码。同样,可以使用变换对象旋转、拉伸、缩放以及扭曲用户界面中的所有内容,甚至可以使用WPF动画系统对用户界面中的内容进行变换。并且因为WPF引擎将在窗口上渲染的内容作为单独操作的一部分,所以它能够处理任意多层相互重叠的内容,即使这些控件具有不规则的形状并且是半透明的。
  在WPF这些新特性的背后是基于DirectX的新架构,DirectX是一套硬件加速的图形API,通常用于开发最前沿的计算机游戏。这意味着可以使用丰富的图形效果,而不会造成性能损失,而使用Windows窗体实现这类效果会严重影响程序运行的性能。实际上,甚至可以使用更高级的特性,例如,对视频文件和3D内容的支持。使用这些特性(以及优秀的设计工具),可以创建出非常绚丽的用户界面和可视化效果,而使用Windows窗体技术是无法实现这些效果的。
  尽管通常会更加关注WPF中最前沿的视频、动画以及3D特性,但是关注使用WPF的标准控件和简单的可视化外观,构建常规Windows应用程序也是很重要的。实际上,使用WPF中的通用控件和使用Windows窗体中的通用控件同样容易。更好的是,WPF增强了商业开发人员所需要的特性,包括经过很大改进的数据绑定模型、一套用于打印以及管理打印队列的新类,以及用于显示大量格式化文本的文档特性。
  
  当.NET第一次出现时,它引入了一些重要的新技术。包括编写Web应用程序的全新方法(ASP.NET)、连接数据库的全新方法(ADO.NET)、新的类型安全的语言(C#和VB.NET),以及托管的运行时(CLR)。在这些新技术中最重要的是Windows窗体,它是用于构建Windows应用程序的一套类库。
  尽管Windows窗体是一个成熟且非常完善的工具包,但它使用的是在过去十年中本质上并无变化的Windows技术。最重要的是,Windows窗体依靠WindowsAPI来创建标准用户界面元素的可视化外观,如按钮、文本框、复选框等。所以,这些要素在本质上是不可定制的。
  例如,如果希望创建一个时髦的光晕按钮,就需要创建一个自定义控件,并使用低级的绘图模型为按钮各种不同的状态绘制各个方面的细节。更糟糕的是,普通的窗口被切割成不同的区域,每个控件完全拥有自己的区域。所以,没有比较好的绘制方法可以将一个控件的内容(如按钮背后的发光效果)辐射到其他控件。更不要指望实现动画效果,如旋转的文本、闪烁的按钮、收缩的窗口,以及生动的预览,因为对于这些效果必需手工绘制每个细节。
  Windows呈现基础(Windows Presentation Foundation,wPF)通过一个使用完全不同技术的新模型改变了所有的一切。尽管WPF也提供了熟悉的标准控件,但是它自己负责绘制每个文本、边框和背景填充。所以,WPF能够提供更强大的功能,可以改变渲染屏幕上所有内容的方式。使用这些特性,可以重新样式化通用控件,如按钮,并且通常不需要编写任何代码。同样,可以使用变换对象旋转、拉伸、缩放以及扭曲用户界面中的所有内容,甚至可以使用WPF动画系统对用户界面中的内容进行变换。并且因为WPF引擎将在窗口上渲染的内容作为单独操作的一部分,所以它能够处理任意多层相互重叠的内容,即使这些控件具有不规则的形状并且是半透明的。
  在WPF这些新特性的背后是基于DirectX的新架构,DirectX是一套硬件加速的图形API,通常用于开发最前沿的计算机游戏。这意味着可以使用丰富的图形效果,而不会造成性能损失,而使用Windows窗体实现这类效果会严重影响程序运行的性能。实际上,甚至可以使用更高级的特性,例如,对视频文件和3D内容的支持。使用这些特性(以及优秀的设计工具),可以创建出非常绚丽的用户界面和可视化效果,而使用Windows窗体技术是无法实现这些效果的。
  尽管通常会更加关注WPF中最前沿的视频、动画以及3D特性,但是关注使用WPF的标准控件和简单的可视化外观,构建常规Windows应用程序也是很重要的。实际上,使用WPF中的通用控件和使用Windows窗体中的通用控件同样容易。更好的是,WPF增强了商业开发人员所需要的特性,包括经过很大改进的数据绑定模型、一套用于打印以及管理打印队列的新类,以及用于显示大量格式化文本的文档特性。

精彩书摘

第1章  WPF概述
  Windows呈现基础(Windows Presentation Foundation,WPF)是一个用于Windows平台的全新的图形显示系统。WPF是针对.NET而设计的,它受现代显示技术,如HTML和Flash,以及硬件加速技术的影响。WPF也完全不同于自从Windows 95以来一直使用的Windows用户界面。
  本章将介绍WPF的体系结构,首先会介绍WPF的工作原理,以及它如何为开发下一代Windows应用程序提供支持。
  1.1 理解Windows图形
  15年以来,Windows开发人员一直在使用本质上相同的显示技术,如果您不了解这一实际情况,那么就很难理解WPF的变化有多么大。标准的Windows应用程序依赖于Windows操作系统的如下两个部分来创建用户界面,这两个部分已经使用了很长时间:
  ·User32该部分为许多元素提供了类似的窗口外观,如窗口、按钮、文本框等。
  ·GDl/GDI+该部分为渲染简单形状、文本以及图像提供绘图支持,但是非常复杂(而且通常性能较差)。
  在过去的几年里,这两种技术一直在改进,并且开发人员使用的与之交互的APl也已经发生了很大的变化。但不管是使用.NET和Windows窗体,还是使用过去的Visual Basic 6或基于C++代码的MFC,在底层都是使用Windows操作系统的相同部分来工作的。新的框架工具为使用User32和GDl/GDI+进行交互提供了更好的封装。这些框架工具提高了开发效率,降低了复杂性,并且提供了更多的特性,使开发人员不必再自己编写底层代码,但是这些框架工具不可能避免系统组件在设计上的基本限制,这些限制已经存在了十多年。

内页插图

编辑推荐

尽管wPF的视频、动画和3D功能被大肆宣传,但是wPF仅适用于构建不需要丰富图形的企业应用程序。《WPF编程宝典:使用C# 2008和.NET 3.5(第2版)》将覆盖wPF对主要企业功能的增强,如数据绑定、打印管理以及文档显示,并展示了使用wPF创建专业企业应用程序所需要的所有技术。
  WPF(Windows Presentation Foundation)通过引入一个新的模型,使用完全不同的技术改变了这一切。尽管wPF提供了熟悉的标准控件,但是它使用高性能的Directx引擎绘制所有细节。所以,WPF能够提供大量冲击视觉的新功能,《WPF编程宝典:使用C# 2008和.NET 3.5(第2版)》就包括了所有这些功能。例如,我们不用编写任何代码就可以自定义外观精美的通用控件。我们能够使用动画效果旋转、拉伸、缩放以及扭曲用户界面中的所有内容。使用windows Forms不可能实现或实现起来非常困难的任务——例如,播放媒体文件或创建具有纹理的3D形状——现在都可以轻松实现。当阅读完《WPF编程宝典:使用C# 2008和.NET 3.5(第2版)》后,您将能够掌握如何完成这些以前不可能完成的任务。多年来,.NET开发人员一直在使用Windows Forms工具包创建windows应用程序。尽管windows Forms是一项成熟且相当完善的技术,但它本质上仍是windows的一部分,而这一部分在过去10年中基本上没有发生变化。因此,即使用windows F0rms完成简单的任务也需要做大量的工作。

这篇关于WPF编程宝典:使用C_#.2008和.NET.3.5(第2版)(奋斗的小鸟)_PDF 电子书的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/897031

相关文章

C语言中联合体union的使用

本文编辑整理自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471 一、前言 “联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

用Microsoft.Extensions.Hosting 管理WPF项目.

首先引入必要的包: <ItemGroup><PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" /><PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /><PackageReference Include="Serilog

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间,擦写次数7.I/O高低电平电压表格8.外设接口

Lipowerline5.0 雷达电力应用软件下载使用

1.配网数据处理分析 针对配网线路点云数据,优化了分类算法,支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类;一键生成危险点报告和交跨报告;还能生成点云数据采集航线和自主巡检航线。 获取软件安装包联系邮箱:2895356150@qq.com,资源源于网络,本介绍用于学习使用,如有侵权请您联系删除! 2.新增快速版,简洁易上手 支持快速版和专业版切换使用,快速版界面简洁,保留主

如何免费的去使用connectedpapers?

免费使用connectedpapers 1. 打开谷歌浏览器2. 按住ctrl+shift+N,进入无痕模式3. 不需要登录(也就是访客模式)4. 两次用完,关闭无痕模式(继续重复步骤 2 - 4) 1. 打开谷歌浏览器 2. 按住ctrl+shift+N,进入无痕模式 输入网址:https://www.connectedpapers.com/ 3. 不需要登录(也就是

16.Spring前世今生与Spring编程思想

1.1.课程目标 1、通过对本章内容的学习,可以掌握Spring的基本架构及各子模块之间的依赖关系。 2、 了解Spring的发展历史,启发思维。 3、 对 Spring形成一个整体的认识,为之后的深入学习做铺垫。 4、 通过对本章内容的学习,可以了解Spring版本升级的规律,从而应用到自己的系统升级版本命名。 5、Spring编程思想总结。 1.2.内容定位 Spring使用经验

Toolbar+DrawerLayout使用详情结合网络各大神

最近也想搞下toolbar+drawerlayout的使用。结合网络上各大神的杰作,我把大部分的内容效果都完成了遍。现在记录下各个功能效果的实现以及一些细节注意点。 这图弹出两个菜单内容都是仿QQ界面的选项。左边一个是drawerlayout的弹窗。右边是toolbar的popup弹窗。 开始实现步骤详情: 1.创建toolbar布局跟drawerlayout布局 <?xml vers

C#中,decimal类型使用

在Microsoft SQL Server中numeric类型,在C#中使用的时候,需要用decimal类型与其对应,不能使用int等类型。 SQL:numeric C#:decimal