WPF高级编程

WPF高级编程
作 者: 安德拉德 王德才 吴明飞
出版社: 清华大学出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 操作系统
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《WPF高级编程》作者简介

内容简介

《WPF高级编程》主要介绍WPF开发技术、模式和案例。《WPF高级编程》以“WPF概述”作为开始。在第1章中,首先回答了“WPF是什么?”、“如何开始使用WPF?”以及“WPF能够带来什么?”等几个问题,然后详细分析了WPF开发平台提供的各个子系统及其图形特征。概述WPF之后,将进入WPF开发技术部分。《WPF高级编程》通过使用Visual Studio创建几个示例程序,带领您快速进入应用程序开发。此外,还将介绍XAML—— 创建用户界面的新标记语言。XAML实际上是独立于WPF的一项技术,但在WPF中广泛使用了XAML。掌握了WPF的基本概念和开发技术之后,《WPF高级编程》将带领读者进入设计工具的世界。Microsoft提供了许多引人注目的新的设计工具系列。在《WPF高级编程》中将学习使用新的Microsoft Expression Blend工具。通过使用Expression Blend,可以创建高级的用户界面,学习实现样式、布局与动画。读者还将发现,将界面设计保存到XAML文件中,然后在Visual Studio中使用完全相同的标记语言编写应用程序逻辑是多么的容易。接下来,将介绍如何使用WPF创建特殊效果,包括位图效果、变换,以及使用画刷对象创建玻璃或反射效果等。《WPF高级编程》演示了这些技术,并为在应用程序中创建绚丽的可视化元素提供了基础。在学习完特殊效果之后,将介绍如何使用WPF创建自定义控件。WPF提供了一个极好的自定义对象模型,允许运用各种风格和已存在的各种元素模板。该模型是一个令人满意的新模型,允许将几乎任何元素放置在另一个元素中。通过这个新功能,在整个创建自定义控件的过程中,都不会遇到问题。当然,任何事物都不是绝对的,使用WPF创建自定义控件,也有可能会遇到一些问题。本部分内容包括在什么情况下需要考虑创建自定义控件,以及如何创建自定义控件。接下来,将进入WPF应用程序的企业应用开发部分。使用WPF可以创建两种风格的应用程序:基于Windows的单机运行的应用程序与基于Web的应用程序。这两种类型的程序基于相同的代码,即XAML与.NET。这意味着为应用程序指定目标主机环境,只需要简单改变工程文件的设置并管理这些配置即可。这项功能是非常强大的,在《WPF高级编程》的企业开发主题中,对这一功能进行了全面介绍。在理解了应用程序模型与配置之后,读者可能想了解安全问题。WPF的安全基于.NET...

图书目录

第1章 WPF概述 1

1.1 WindowsAPI的简要历史 1

1.1.1 平台演化 2

1.1.2 .NETFramework3.0介绍 2

1.2 初识WindowsPresentationFoundation 3

1.2.1 设计指导原则 3

1.2.2 WPF体系结构 5

1.3 XAML 13

1.4 可视化设计工具 16

1.4.1 XamlPad 16

1.4.2 MicrosoftExpressionBlend 17

1.4.3 WPF可视化设计器 18

1.4.4 ElectricRainZAM3D 19

1.4.5 MobiformAurora 19

1.5 小结 20

第2章 WPF与.NET编程 23

2.1 开始 23

2.1.1 需要安装的软件 24

2.1.2 WPF应用程序类型 24

2.1.3 第一个WPF应用程序 25

2.2 WPF开发概念 27

2.2.1 XAML 27

2.2.2 Application对象 28

2.2.3 创建用户界面 30

2.2.4 事件处理 32

2.2.5 使用控件 38

2.2.6 触发器 47

2.2.7 语言支持 55

2.2.8 部署 57

2.3 小结 57

第3章 WPF应用程序深入剖析 59

3.1 项目组成 59

3.1.1 App.Manifest 61

3.1.2 AssemblyInfo.cs 61

3.1.3 Resources.resx 63

3.1.4 Settings.settings 63

3.1.5 MyApp.xaml 65

3.2 .NETFramework3.0Windows应用程序 66

3.3 XAML浏览器应用程序 68

3.4 WCF服务库 70

3.5 WPF自定义控件库 73

3.6 小结 77

第4章 使用MicrosoftExpression

Blend构建富用户界面:

第一部分 79

4.1 概述 79

4.2 设计环境 80

4.2.1 工作空间面板 81

4.2.2 艺术板 82

4.2.3 配置环境 83

4.3 项目结构 84

4.3.1 添加一个新项目文件 84

4.3.2 构建与部署一个项目 85

4.4 创建向量对象 85

4.4.1 形状 86

4.4.2 路径 87

4.5 使用属性面板操作对象 88

4.5.1 变换面板 88

4.5.2 画刷面板 88

4.5.3 透明性、透明度与可见度 90

4.6 操作文本 91

4.7 管理布局 92

4.7.1 用户界面布局面板 93

4.7.2 其他布局控件 95

4.7.3 嵌套布局面板 96

4.8 动画 96

4.8.1 时间线子面板 96

4.8.2 关键帧 98

4.8.3 为对象的属性添加动画 98

4.8.4 运动路径 98

4.8.5 触发器 99

4.8.6 创建控件 100

4.8.7 模板 102

4.8.8 样式 103

4.8.9 状态 103

4.8.10 导入音频/视频媒体 104

4.9 小结 104

第5章 使用MicrosoftExpressionBlend构建富用户界面:

第二部分 105

5.1 ExpressionBlend工作流 105

5.2 处理用户输入 108

5.2.1 键盘和鼠标类 108

5.2.2 事件与事件处理 108

5.2.3 定位 110

5.2.4 命中测试 114

5.3 WPF动画API 124

5.3.1 动画类 124

5.3.2 使用代码通过编程创建动态动画 124

5.3.3 程序动画 127

5.4 使用故事板进行交互 132

5.5 WPF绘图API 134

5.5.1 Geometry类 134

5.5.2 Shape类 134

5.5.3 画刷 138

5.6 小结 141

第6章 特殊效果 143

6.1 画刷 144

6.1.1 SolidColorBrash 144

6.1.2 GradientBrush 150

6.1.3 ImageBrush 153

6.1.4 DrawingBrush 155

6.1.5 VisualBrush 156

6.2 位图效果 158

6.3 变换 163

6.3.1 TranslateTransform类 165

6.3.2 ScaleTransform类 168

6.3.3 SkewTransform类 171

6.3.4 RotateTransform类 173

6.3.5 透明掩码 176

6.4 综合运用--组合效果 178

6.4.1 具有反射效果的跳跃

 小球示例程序 178

6.4.2 动画图像观察器示例程序 184

6.5 小结 190

第7章 自定义控件 191

7.1 概述 191

7.2 控件基类 192

7.2.1 UserControl类 193

7.2.2 创建用户控件 193

7.3 WPF中的数据绑定 202

7.3.1 绑定标记扩展 202

7.3.2 绑定模式 202

7.3.3 数据模板 204

7.3.4 数据转换 205

7.4 创建和编辑样式 207

7.4.1 为样式指定目标类型 208

7.4.2 继承和覆盖样式 209

7.4.3 样式触发器 210

7.5 使用模板定制已有的控件 212

7.6 小结 215

第8章 WPF企业开发 217

8.1 WPF应用程序模型 218

8.1.1 单机应用程序 219

8.1.2 基于浏览器的应用程序 221

8.1.3 安全考虑 230

8.2 状态管理 231

8.2.1 Application对象 231

8.2.2 独立存储 233

8.2.3 状态管理示例程序 235

8.3 导航 241

8.3.1 导航元素 241

8.3.2 结构化导航 242

8.3.3 导航拓扑 252

8.4 应用程序本地化 269

8.4.1 自动布局指导原则 270

8.4.2 使用网格以达到灵活性 272

8.4.3 本地化属性和注释 273

8.5 WPF部署模型 274

8.5.1 生成应用程序 275

8.5.2 部署单机Windows

 应用程序 276

8.5.3 部署XAML浏览器应用程序 277

8.5.4 部署.NETFramework3.0运行库 278

8.6 小结 280

第9章 安全性 281

9.1 WPF安全模型 281

9.2 受信任的应用程序与Express应用程序 282

9.3 核心操作系统安全性 282

9.3.1 LUA 282

9.3.2 虚拟化 283

9.3.3 沙箱 283

9.3.4 下一代密码 283

9.4 CLR安全性 284

9.4.1 代码访问安全性 284

9.4.2 临界代码方法 291

9.4.3 验证 292

9.5 MicrosoftInternetExplorer的安全性 293

9.5.1 区域限制 293

9.5.2 XBAP沙箱工作区 294

9.5.3 XAML浏览器应用程序的安全性 294

9.6 ClickOnce安全性 301

9.6.1 受信任的发布者 301

9.6.2 个人证书文件 302

9.7 .NET3.0安全性实用程序 305

9.8 小结 305

第10章 WPF与Win32交互 307

10.1 Win32用户界面概述 307

10.2 WPF和HWND如何交互操作 308

10.3 在WPF中使用Win32HWND 309

10.4 在Win32应用程序中使用WPF 312

10.5 为WPF添加Windows窗体控件 314

10.5.1 在代码中添加WindowsFormsHost 314

10.5.2 在XAML代码中添加HwndHost 316

10.5.3 为WPF添加ActiveX控件 316

10.5.4 在XAML代码中添加ActiveX控件 321

10.5.5 为Windows窗体添加WPF控件 322

10.5.6 影响控件属性 326

10.6 小结 328

第11章 高级开发主题 329

11.1 WPF体系结构 330

11.1.1 核心子系统 331

11.1.2 WPF线程模型 334

11.1.3 桌面窗口管理器 335

11.2 WPF框架 336

11.2.1 Dispatcher对象 337

11.2.2 DependencyObject/DependencyProperty类 337

11.2.3 Application类 338

11.2.4 Freezable类 339

11.2.5 Visual类 339

11.2.6 UIElement类 345

11.2.7 FrameworkElement类 345

11.2.8 Control类 346

11.3 XAML深入分析 347

11.3.1 XAML的后台工作 348

11.3.2 动态操作XAML 352

11.3.3 解析Window1.xaml 356

11.3.4 XAML标记扩展 360

11.3.5 XAML与自定义类型 360

11.4 WPF多线程 362

11.4.1 单线程应用程序模型 363

11.4.2 线程关联度与DispatcherObject 363

11.4.3 WPF分发器 364

11.4.4 使用单线程应用程序 365

11.4.5 异步线程 367

11.5 Windows通信基础WCF 372

11.5.1 服务定向 372

11.5.2 WCF体系结构 373

11.5.3 WCF基础 374

11.5.4 构建一个WCF服务 376

11.6 Windows工作流基础 383

11.6.1 工作流定义 384

11.6.2 WF体系结构 384

11.6.3 WF基础 385

11.7 小结 399