Essential Windows presentation foundation
9780321374479, 0321374479
Windows Presentation Foundation (WPF) replaces Microsoft's diverse presentation technologies with a unified, state-
325
97
7MB
English
Pages 501
Year 2007
Report DMCA / Copyright
DOWNLOAD PDF FILE
Table of contents :
Essential Windows presentation foundation......Page 1
Contents......Page 10
Figures......Page 16
Foreword......Page 26
Foreword......Page 28
Preface......Page 30
About the Author......Page 40
User32, à la Charles Petzold......Page 42
HTML, a.k.a. the Web......Page 49
A Brief Look at the XAML Programming Model......Page 52
Getting Up and Running......Page 58
Moving to Markup......Page 60
The Basics......Page 62
Working with Data......Page 68
The Power of Integration......Page 71
Getting Some Style......Page 78
Tools for Building Applications......Page 80
Where Are We?......Page 82
Application Principles......Page 84
Scalable Applications......Page 85
Web Style......Page 89
Desktop Style......Page 91
Application......Page 93
Definition......Page 94
Lifetime......Page 96
Error Handling......Page 98
Managing State......Page 100
Resources and Configuration......Page 101
Configuration State......Page 102
Content State......Page 105
Windows......Page 112
Displaying a Window......Page 115
Sizing and Position......Page 118
Window and Application......Page 119
User Controls......Page 121
Navigation and Pages......Page 124
Passing State between Pages......Page 130
Controlling Navigation......Page 135
Controlling the Journal......Page 137
Functional Navigation and Page Functions......Page 138
Hosting Applications in a Browser......Page 144
HelloBrowser......Page 145
Under the Covers......Page 150
Where Are We?......Page 152
Control Principles......Page 154
Content Model......Page 157
Templates......Page 162
Control Library......Page 169
Buttons......Page 170
Lists......Page 171
Menus and Toolbars......Page 179
Containers......Page 184
Ranges......Page 185
Editors......Page 186
Frame......Page 201
ToolTip......Page 202
Thumb......Page 204
Border......Page 206
ScrollViewer......Page 208
Viewbox......Page 210
Where Are We?......Page 212
Layout Principles......Page 214
Layout Contract......Page 215
Consistent Layout......Page 217
No Built-In Layout......Page 226
Canvas......Page 227
StackPanel......Page 230
DockPanel......Page 231
UniformGrid......Page 235
Grid Concepts......Page 237
Grid Layout......Page 243
GridSplitter......Page 246
Writing a Custom Layout......Page 248
Where Are We?......Page 256
5 Visuals......Page 258
Principles of 2D......Page 259
Geometry......Page 263
Color......Page 266
Brushes......Page 269
Pens......Page 275
Drawings......Page 278
Shapes......Page 280
Images......Page 282
Opacity......Page 291
BitmapEffects......Page 294
3D Graphics......Page 295
Hello World, 3D Style......Page 296
Principles of 3D......Page 299
Documents and Text......Page 308
Hello World, Text Style......Page 309
Fonts......Page 313
Text Layout......Page 315
Advanced Typography......Page 322
Animation as the New Timer......Page 324
Time and Timelines......Page 333
Defining an Animation......Page 334
Animation Integration......Page 337
Media......Page 341
Audio......Page 342
Video......Page 344
Where Are We?......Page 346
The .NET Data Model......Page 348
Pervasive Binding......Page 349
Data Transformation......Page 350
Resources......Page 351
Binding Basics......Page 357
Binding to CLR Objects......Page 363
Editing......Page 366
XPath 101......Page 372
XML Binding......Page 374
Data Templates......Page 379
Template Selection......Page 381
Hierarchical Binding......Page 383
Collection Views......Page 390
Data-Driven Display......Page 398
Where Are We?......Page 404
Action Principles......Page 406
Loose Coupling......Page 407
Events......Page 410
Commands......Page 414
Commands and Data Binding......Page 421
Triggers......Page 424
Adding Triggers to Data......Page 425
Adding Triggers to Controls......Page 428
Triggers as the New “if”......Page 429
Where Are We?......Page 430
Style Principles......Page 432
Element Composition......Page 433
Unified Model for Customization......Page 434
Optimization for Tools......Page 437
Beginning Styles......Page 438
Models, Display, and Styles......Page 442
Themes......Page 446
Skinning......Page 448
Style Inheritance......Page 453
Using Styles for Good, Not Evil......Page 456
Consistency Is King......Page 458
Where Are We?......Page 460
Threading and Dispatchers......Page 462
.NET Properties......Page 468
Property System 101......Page 472
Metadata......Page 475
Keyboards, Mice, and Styluses......Page 478
InputBinding......Page 479
Keyboard Focus......Page 482
Where Are We?......Page 483
A......Page 484
B......Page 485
C......Page 486
D......Page 488
F......Page 489
H......Page 490
K......Page 491
M......Page 492
N......Page 493
P......Page 494
S......Page 495
T......Page 497
W......Page 498
Z......Page 499