《WPF专业编程指南》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:李应保著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121100116
  • 页数:526 页
图书介绍:本书对WPF中的图形系统及图形和排版的变换原理进行了深入的探讨,并在此基础上考察了WPF中的动画。多媒体不是WPF专有的技术,但本书讨论了在WPF中使用多媒体的实用技术。用户控件和自定义控件是WPF中比较深入的内容,本书最后两章对这一课题进行了深层次的考察,通过对Ribbon控件的开发,不仅可以窥见开发用户控件和自定义控件的方法,而且可以体会WPF项目的组织及多种WPF技术细节的综合运用。

第一篇WPF编程基础 2

第1章WPF应用程序 2

1.1 WPF应用程序的创建 2

1.2 Dos窗口 3

1.3 WPF应用程序的启动和终止 4

1.4输入参数 5

1.5在Xaml中创建Application 7

1.6窗口大小 10

1.7互联网应用程序 10

1.8应用程序的异常处理 11

1.9应用程序中的资源 12

1.10应用程序的发布 13

1.11 WPF开发环境 14

1.12本章小结 15

第2章XAML语言 16

2.1 XAML是一种界面描述语言 16

2.2 XAML的根元素 17

2.3 XAML命名空间(NameSpace ) 17

2.4 XAML和代码分离技术(code behind) 18

2.5子元素 19

2.6相关属性(Dependency Property) 20

2.7附加属性(Attached Property) 21

2.8 XAML标记扩展 21

2.8.1静态资源扩展(StaticResourceExtension) 22

2.8.2动态资源扩展(DynamicResourceExtension) 23

2.8.3数据绑定扩展(Binding) 24

2.8.4相对数据源扩展(RelativeSource) 24

2.8.5模板绑定(TemplateBinding) 25

2.8.6 x:Type扩展 26

2.8.7 x:Static扩展 26

2.8.8 x:nuII扩展 26

2.8.9 x:Array扩展 26

2.9本章小结 27

第3章WPF排版 28

3.1排版基础 28

3.2堆积面板(StackPanel) 29

3.3 WrapPanel 34

3.4停靠面板(DockPanel) 35

3.5表格式面板(Grid) 39

3.5.1设定UI元素在Grid中的位置 40

3.5.2设定 Grid行或列的尺寸 40

3.5.3元素横跨多个行列时的设定 41

3.5.4在Grid中保持多行或多列大小的一致性 44

3.6 UniformGrid 46

3.7画布面板(Canvas) 47

3.8本章小结 48

第4章WPF中的属性系统 49

4.1 CLR属性 49

4.2相关属性的概念 50

4.2.1相关属性的传递 50

4.2.2 WPF对相关属性的支持 51

4.3自定义相关属性 52

4.4附加属性 58

4.5本章小结 67

第5章 画笔和画刷 68

5.1 WPF中的颜色 68

5.2画刷 75

5.2.1实心画刷( SolidColorBrush ) 76

5.2.2梯度画刷( GradientBrush) 77

5.2.3线性梯度画刷(LinearGradientBrush) 77

5.2.4圆形梯度画刷(RadialGradientBrush) 80

5.2.5自制画刷( DrawingBrush) 81

5.2.6粘贴模式(TileMode) 82

5.2.7伸展方式(Stretch) 83

5.2.8图像画刷(Im ageBrush) 83

5.2.9控件画刷( VisualBrush) 85

5.3画笔 88

5.4本章小结 95

第二篇WPF专业程序员必备 98

第6章WPF控制 98

6.1 W PF控件概述 98

6.2内容控件(Content Control ) 100

6.2.1框架控件(Frame) 100

6.2.2 W PF按钮(Button) 101

6.2.3拨动按钮(ToggleButton) 104

6.2.4 CheckBox控件 104

6.2.5 RadioButton控件 104

6.2.6重复按钮(RepeatButton) 105

6.2.7带有标题栏的内容控件(HeaderedContentControl) 106

6.2.8分组框(G roupBox) 107

6.2.9伸展控件(Expander) 109

6.2.10标签控件(Label) 110

6.2.11为按钮设置热键 111

6.2.12 ToolTip 113

6.2.13 ScrollViewer 115

6.3条目控件( Items Controls) 116

6.3.1菜单(Menu) 117

6.3.2工具条(ToolBar) 123

6.3.3 Selector 126

6.3.4组合框(ComboBox) 126

6.3.5 TabControl 129

6.3.6列表框(ListBox ) 132

6.3.7 ListView 135

6.3.8状态条(StatusBar) 138

6.3.9树形控件TreeV iew和TreeViewitem 140

6.4文本控件(Text Controls) 143

6.4.1口令输入框(PasswordBox ) 143

6.4.2文字输入框(TextBox) 144

6.4.3 RichTextBox 145

6.5范围控件(Range Controls) 146

6.5.1滚动条(ScrollBar ) 146

6.5.2滑动条(Slider ) 147

6.5.3进展条(ProgressBar) 152

6.6本章小结 152

第7章 传递事件和传递命令系统 153

7.1 WPF中的元素树 153

7.2传递事件(Routed Event) 165

7.2.1 RoutedEventArgs 166

7.2.2终止事件传播 166

7.2.3处理传递事件 167

7.2.4附加传递事件(Attached Routed Event) 168

7.3考察传递事件 168

7.3.1键盘事件的产生和传递 174

7.4自定义传递事件 174

7.5管理键盘和鼠标输入事件 182

7.5.1键盘输入 182

7.5.2鼠标输入 182

7.6传递命令 184

7.6.1 ICommand接口 186

7.6.2 ICommandSource接口 186

7.6.3 CommandTarget 186

7.6.4命令绑定(CommandBinding) 186

7.6.5传递命令(Routed Command) 187

7.6.6 WPF命令仓库(Command Repository ) 187

7.7本章小结 190

第8章 资源 191

8.1资源定义及其类型 191

8.2统一资源标识(Unified Resource Identifier) 192

8.3.NET开发平台对资源国际化的支持 196

8.3.1 WinForm下的资源管理 197

8.3.2用XAM L创建本地资源 200

8.4 WPF元素中定义的资源 202

8.4.1静态资源( StaticResource ) 203

8.4.2资源的作用范围 204

8.4.3静态扩展标识(Static markup extension) 205

8.4.4动态资源扩展标识(DynamicResource Markup Extension ) 208

8.5本章小结 210

第9章 风格 211

9.1 Style类 211

9.2 Setters 211

9.3 TargetType 215

9.4 BasedOn 218

9.5触发器(Triggers) 220

9.5.1使用单一条件的触发器 221

9.5.2使用多个条件的触发器 222

9.5.3使用数据触发器(DataTrigger) 223

9.6风格中的资源 225

9.7 IsSealed 227

9.8把风格定格定义在单独的文件中 227

9.9在FrameworkContentElement中使用风格 228

9.10再谈Setter属性 229

9.11本章小结 230

第10章 模板 231

10.1模板概述 231

10.2控件模板 232

10.2.1在控件中使用模板 232

10.2.2在资源中使用模板 234

10.2.3在控件模板中使用TargetType 235

10.2.4在模板中显示控件的内容 236

10.2.5在模板中使用ContentPresenter 237

10.2.6模板中元素名Name属性 239

10.2.7在模板中绑定控件的其他属性 239

10.2.8使用模板显示电力系统的断路器和刀闸开关 240

10.2.9在风格中使用模板 242

10.2.10获取WPF控件的模板 243

10.3数据模板(DataTemplate) 244

10.3.1我们所面临的问题 244

10.3.2定义数据模板 247

10.3.3在资源中使用数据模板 248

10.3.4数据模板触发器 249

10.3.5根据数据属性选择相应的模板 250

10.3.6在数据模板中使用类型转换技术 253

10.4 ItemsPanelTemplate 258

10.5层次结构数据模板(HierarchicalDataTemplate ) 259

10.6本章小结 262

第11章 数据绑定(Data Binding) 263

11.1数据绑定概述 263

11.2最简单的数据绑定——从界面元素到界面元素 264

11.2.1一对一数据绑定 264

11.2.2在C#中,实现数据绑定 265

11.2.3对不是FrameworkElement和FrameworkContentElement元素实现数据绑定 266

11.3使用不同的绑定模式 266

11.4动态绑定 267

11.5最简单的数据绑定——从.NET对象到界面元素 268

11.6 DataContext 271

11.7控制绑定时刻 272

11.8开发自己的IValueConverter 273

11.9在数据绑定中加入校验 275

11.9.1开发业务规则类 276

11.9.2在绑定中添加任意多个业务规则 279

11.9.3在控件上显示校验信息 279

11.9.4触发错误处理事件 280

11.9.5清除控件上的错误信息 282

11.10对集合对象的绑定 283

11.10.1使用DisplayMemberPath属性 286

11.10.2显示当前条目 286

11.10.3遍历集合中的记录 288

11.10.4增加或删除记录 290

11.10.5对集合对象分组 293

11.10.6对集合对象排序 294

11.10.7对集合对象过滤 295

11.11数据源 296

11.11.1 XML数据源 296

11.11.2.NET对象数据源 301

11.12层次结构数据的绑定 303

11.13本章小结 303

第12章 窗口对话框和打印 304

12.1窗口(Window) 304

12.1.1窗口的状态变化和事件 304

12.1.2确定视窗的位置 309

12.1.3确定视窗的大小 310

12.1.4视窗状态属性(WindowState) 310

12.1.5视窗大小模式(ResizeMode) 310

12.1.6视窗风格(WindowStyle) 311

12.2网页(Page) 311

12.2.1创建网页 312

12.2.2 KeepAlive属性 312

12.2.3 Navigation Service属性 312

12.2.4 ShowsNavigationUl属性 313

12.3浏览窗口(NavigationW indow ) 313

12.3.1使用统一风格 314

12.3.2设置NavigationWindow的标题 314

12.3.3浏览网页 315

12.3.4使用HyperLink类 315

12.3.5使用NavigationService转到不同的网页 318

12.3.6使用浏览日志转换到不同的网页 319

12.3.7浏览窗口的浏览事件 319

12.4对话框(DialogBox) 320

12.4.1消息框(MessageBox) 320

12.4.2通用对话框 320

12.4.3自定义对话框 322

12.5打印输出 323

12.5.1 XPS文档简介 323

12.5.2创建XPS文档 324

12.5.3显示XPS文档 328

12.5.4打印 333

12.6本章小结 333

第三篇 图形和动画 336

第13章 二维图形 336

13.1 WPF图形系统概述 336

13.1.1统一编程模型 336

13.1.2坐标系统 338

13.1.3 Shape和Geometry 338

13.2 Shape及其派生类 339

13.2.1直线(Line) 340

13.2.2矩形(Rectangle) 340

13.2.3椭圆(Ellipse) 341

13.2.4折线(Polyline) 341

13.2.5多边形(Polygon) 342

13.2.6填充规则(FillRule) 342

13.2.7路径(Path) 343

13.3 Geometry及其派生类 343

13.3.1直线(LineGeometry) 344

13.3.2矩形(RectangleGeometry) 344

13.3.3椭圆(EllipseGeometry) 344

13.3.4几何图形组(GeometryGroup) 345

13.3.5合并图形(CombinedGeometry ) 346

13.3.6几何路径(PathGeometry) 348

13.3.7分段路径(PathSegment) 350

13.3.8弧线(ArcSegment) 350

13.3.9直线段(LineSegment) 352

13.3.10折线段(PolyLineSegment) 353

13.3.11柏之线(BezierSegment) 353

13.3.12多段柏之线(PolyBezierSegment ) 354

13.3.13二次柏之线(Quad raticBezierSegment ) 354

13.3.14多段二次柏之线(PolyQuadraticBezierSegment ) 355

13.3.15 迷你绘图语言 356

13.3.16流几何图形(StreamGeometry ) 360

13.4绘制(Drawing) 361

13.4.1使用Drawinglmage显示几何图形 362

13.4.2使用DrawingVisual来显示几何绘制 363

13.4.3创建DrawingVisual宿主 363

13.4.4绘制几何图形 364

13.4.5把DrawingV isual对象加到FrameworkElement中的视觉树和逻辑树中 364

13.4.6选择视觉元素(Visual Hit Testing) 366

13.4.7简单选择判断 366

13.4.8多个视觉元素的选择判断 367

13.4.9视觉元素重叠时的选择判断 367

13.5本章小结 368

第14章 图形转换 369

14.1图形转换概述 369

14.2项目管理器 370

14.3旋转转换(RotateTransform ) 376

14.4位移转换(TranslateTransform ) 378

14.5缩放转换(Sca l eTra nsform ) 380

14.6扭曲转换(SkewTransform ) 382

14.7组合转换(TransformGroup ) 384

14.8矩阵转换(MatrixTransform ) 385

14.8.1矢量操作 385

14.8.2 H坐标系 386

14.8.3位移转换矩阵 387

14.8.4旋转转换矩阵 388

14.8.5缩放转换矩阵 388

14.8.6扭曲转换矩阵 389

14.8.7 矩阵操作 389

14.9本章小结 394

第15章 动画 395

15.1 WPF中的动画 395

15.2动画类继承树 396

15.3一个简单的动画 397

15.4控制动画 398

15.4.1动画所用的时间 (duration ) 399

15.4.2设定动画开始时间BeginTime 399

15.4.3设定自动返回(AutoReverse ) 399

15.4.4设定动画速度(SpeedRatio ) 400

15.4.5加快和减慢动画(Accelaration Ratio和DecelarationRatio ) 400

15.4.6设定动画的重复特性(RepeatBehavior ) 402

15.4.7设定动画的终止状态(FillBehavior ) 402

15.4.8设定相关属性的动画范围(From和To ) 402

15.4.9设定相关属性的动画范围(By ) 403

15.4.10设定IsAdditive和IsCumulative属性 403

15.4.11 WPF动画的时间片类 403

15.5故事板(Storyboard) 404

15.5.1使用故事板的一般格式 404

15.5.2设定Target和TargetName 406

15.5.3操作Storyboard 406

15.6 KeyFrame 408

15.6.1线性KeyFrame 409

15.6.2非线性KeyFrame (Spline KeyFrame ) 412

15.6.3离散KeyFrame ( Discrete KeyFrame ) 414

15.7本章小结 416

第四篇 开发WPF产品 418

第16章 多媒体技术及其应用 418

16.1播放.wav声音格式的SoudPlayer和Sound PlayerAction 418

16.1.1装载.wav文件 418

16.1.2播放.wav文件 419

16.1.3停止播放 419

16.1.4在XAML中使用Sound PlayerAction 419

16.2播放多种格式的声音和图像 420

16.2.1播放模式 421

16.2.2使用MediaPlayer实例 422

16.2.3使用MediaElement和MediaTimeline实例 426

16.3语音合成和语音识别 430

16.3.1尝试Windows Vista的语音功能 431

16.3.2使你的程序发音 432

16.3.3 PromptBuilder和SS M L 433

16.3.4语音识别中的语法 434

16.4本章小结 436

第17章 定制控件和排版 437

17.1用户控件和自定义控件 437

17.2创建用户控件(User Control) 439

17.2.1设计用户控件U I 439

17.2.2开发支持用户控件UI的逻辑 442

17.3创建自定义控件(Custom Control) 446

17.4创建自定义排版(Custom Panel) 459

17.4.1照片浏览器 461

17.5本章小结 471

第18章 综合应用 472

18.1 Ribbon界面概览 472

18.2项目的组织 473

18.3管理Generic.XAML文件 475

18.4开发自定义控件 476

18.4.1自定义控件间的关系 476

18.4.2 Ribbon按钮 477

18.4.3 Ribbon分组(Group) 483

18.4.4 RibbonTabltem 492

18.4.5 RibbonApplicationMenultem 493

18.4.6 RibbonApplicationMenu 495

18.4.7 RibbonQAToolBar 496

18.4.8 RibbonBar 497

18.4.9 RibbonWindow 498

18.4.10支持不同皮肤 514

18.5使用Ribbon自定义控件实例 516

18.6本章小结 525

参考文献 526