| Contents at a Glance | 5 |
---|
| Contents | 6 |
---|
| About the Author | 20 |
---|
| About the Technical Reviewer | 21 |
---|
| Acknowledgments | 22 |
---|
| Introduction | 23 |
---|
| Understanding Silverlight | 23 |
| About This Book | 31 |
| The Last Word | 33 |
| Introducing Silverlight | 34 |
---|
| Silverlight Design Tools | 34 |
| Creating a Stand-Alone Silverlight Project | 37 |
| Creating a Simple Silverlight Page | 40 |
| Creating an ASP.NET-Hosted Silverlight Project | 45 |
| Silverlight Compilation and Deployment | 50 |
| The HTML Entry Page | 58 |
| The Last Word | 65 |
| XAML | 66 |
---|
| XAML Basics | 67 |
| Properties and Events in XAML | 72 |
| XAML Resources | 83 |
| Element-to-Element Binding | 89 |
| The Last Word | 92 |
| Layout | 93 |
---|
| The Layout Containers | 93 |
| Simple Layout with the StackPanel | 98 |
| The WrapPanel and DockPanel | 106 |
| The Grid | 109 |
| Coordinate-Based Layout with the Canvas | 119 |
| Custom Layout Containers | 122 |
| Sizing Pages | 130 |
| The Last Word | 138 |
| Dependency Properties and Routed Events | 139 |
---|
| Dependency Properties | 139 |
| Routed Events | 147 |
| The Last Word | 166 |
| Elements | 167 |
---|
| The Silverlight Elements | 167 |
| Static Text | 172 |
| Images | 179 |
| Content Controls | 181 |
| Buttons | 186 |
| Tooltips and Pop-Ups | 190 |
| Items Controls | 194 |
| Text Controls | 199 |
| Range-Based Controls | 207 |
| Date Controls | 209 |
| The Last Word | 213 |
| The Application Model | 214 |
---|
| The Application Class | 214 |
| Application Events | 216 |
| Custom Splash Screens | 223 |
| Out-of-Browser Applications | 228 |
| Binary Resources | 241 |
| Class Library Assemblies | 249 |
| The Last Word | 256 |
| Navigation | 257 |
---|
| Loading User Controls | 258 |
| Child Windows | 263 |
| The Frame and Page | 268 |
| The Last Word | 281 |
| Shapes and Geometries | 282 |
---|
| Basic Shapes | 282 |
| Paths and Geometries | 300 |
| Exporting Clip Art | 313 |
| The Last Word | 318 |
| Brushes, Transforms, and Bitmaps | 319 |
---|
| Brushes | 319 |
| Transparency | 326 |
| Transforms | 333 |
| Perspective Transforms | 340 |
| Pixel Shaders | 344 |
| The WriteableBitmap Class | 348 |
| The Last Word | 351 |
| Animation | 352 |
---|
| Understanding Silverlight Animation | 352 |
| Creating Simple Animations | 355 |
| Animation Easing | 366 |
| Animation Types Revisited | 373 |
| Animations in Code | 385 |
| Encapsulating Animations | 395 |
| Frame-Based Animation | 401 |
| Animation Performance | 405 |
| The Last Word | 412 |
| Sound, Video, and Deep Zoom | 413 |
---|
| Supported File Types | 413 |
| The MediaElement | 414 |
| Advanced Video Playback | 426 |
| Deep Zoom | 440 |
| The Last Word | 449 |
| Styles and Behaviors | 450 |
---|
| Styles | 450 |
| Behaviors | 456 |
| The Last Word | 473 |
| Templates and Custom Controls | 474 |
---|
| Template Basics | 474 |
| The Parts and States Model | 481 |
| Creating Templates for Custom Controls | 498 |
| The Last Word | 514 |
| Browser Integration | 516 |
---|
| Interacting with HTML Elements | 517 |
| Code Interaction | 530 |
| Combining Silverlight and HTML Content | 535 |
| Securing HTML Interoperability | 540 |
| The Last Word | 541 |
| ASP.NET Web Services | 542 |
---|
| Building Web Services for Silverlight | 542 |
| Web Service Data Types | 551 |
| More Advanced Web Services | 552 |
| Duplex Services | 558 |
| The Last Word | 564 |
| Data Binding | 565 |
---|
| Binding to Data Objects | 566 |
| Binding to a Collection of Objects | 583 |
| Data Conversion | 594 |
| Data Templates | 603 |
| The Last Word | 608 |
| Data Controls | 609 |
---|
| Better Data Forms | 610 |
| Data Annotations | 617 |
| The DataGrid | 629 |
| DataGrid Editing | 644 |
| The PagedCollectionView | 648 |
| The TreeView | 655 |
| The Last Word | 658 |
| Isolated Storage | 659 |
---|
| Understanding Isolated Storage | 659 |
| Using Isolated Storage | 661 |
| The File Dialogs | 671 |
| The Last Word | 680 |
| Multithreading | 681 |
---|
| Understanding Multithreading | 681 |
| The Thread Class | 683 |
| The BackgroundWorker | 694 |
| The Last Word | 702 |
| Networking | 703 |
---|
| Interacting with the Web | 703 |
| Processing Different Types of Data | 714 |
| Sockets | 731 |
| Local Connections | 747 |
| The Last Word | 750 |
| Index | 751 |