ebook img

Microsoft Silverlight Edition: Programming Windows Phone 7 PDF

792 Pages·2010·10.69 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Microsoft Silverlight Edition: Programming Windows Phone 7

Microsoft Silverlight Edition: Programming Windows Phone 7 Charles Petzold AA0011TT665566667733..iinndddd ii 1111//3300//22001100 1122::3388::5577 PPMM PUBLISHED BY Microsoft Press A Division of Microsoft Corporation One Microsoft Way Redmond, Washington 98052-6399 Copyright © 2010 by Microsoft Corporation (All) All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher. Library of Congress Control Number: 2010941604 ISBN: 978-0-7356-5667-3 Printed and bound in the United States of America. Microsoft Press books are available through booksellers and distributors worldwide. For further infor mation about international editions, contact your local Microsoft Corporation offi ce or contact Microsoft Press International directly at fax (425) 936-7329. Tell us what you think of this book at http://www.microsoft.com/learning/booksurvey. Send comments to [email protected]. Microsoft and the trademarks listed at http://www.microsoft.com/about/legal/en/us/IntellectualProperty/ Trademark/EN-US.aspx are trademarks of the Microsoft group of companies. All other marks are the property of their respective owners. The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fi ctitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred. This book expresses the author’s views and opinions. The information contained in this book is provided without any express, statutory, or implied warranties. Neither the authors, Microsoft Corporation, nor its resellers, or distributors will be held liable for any damages caused or alleged to be caused either directly or indirectly by this book. Acquisitions Editor: Devon Musgrave Developmental Editor: Devon Musgrave Project Editor: Devon Musgrave Editorial Production: Ashley Schneider, S4Carlisle Publishing Services Technical Reviewer: Per Blomqvist; Technical Review Services provided by Content Master, a member of CM Group, Ltd. Body Part No. X17-35780 AA0022LL665566667733..iinndddd iiii 1111//3300//22001100 11::1100::5544 PPMM Contents at a Glance Part I The Basics 1 Hello, Windows Phone 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Getting Oriented. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3 An Introduction to Touch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4 Bitmaps, Also Known as Textures. . . . . . . . . . . . . . . . . . . . . . . . . . 65 5 Sensors and Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6 Issues in Application Architecture . . . . . . . . . . . . . . . . . . . . . . . . 107 Part II Silverlight 7 XAML Power and Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 8 Elements and Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 9 The Intricacies of Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 10 The App Bar and Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 11 Dependency Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 12 Data Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 13 Vector Graphics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 14 Raster Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 15 Animations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 16 The Two Templates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573 17 Items Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633 18 Pivot and Panorama. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701 iii AA0033CC665566667733..iinndddd iiiiii 1111//1188//22001100 44::1111::4422 PPMM Table of Contents Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xi Part I The Basics 1 Hello, Windows Phone 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Targeting Windows Phone 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 The Hardware Chassis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Sensors and Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 File | New | Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 A First Silverlight Phone Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 The Standard Silverlight Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Color Themes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 Points and Pixels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 The XAP is a ZIP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 An XNA Program for the Phone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2 Getting Oriented. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Silverlight and Dynamic Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Orientation Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 XNA Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40 Simple Clocks (Very Simple Clocks). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 3 An Introduction to Touch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Low-Level Touch Handling in XNA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 The XNA Gesture Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Low-Level Touch Events in Silverlight. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54 The Manipulation Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58 Routed Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Some Odd Behavior? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 What do you think of this book? We want to hear from you! Microsoft is interested in hearing your feedback so we can continually improve our books and learning resources for you. To participate in a brief online survey, please visit: microsoft.com/learning/booksurvey v AA0044TT665566667733..iinndddd vv 1111//1188//22001100 55::0022::0055 PPMM vi Table of Contents 4 Bitmaps, Also Known as Textures. . . . . . . . . . . . . . . . . . . . . . . . . . 65 XNA Texture Drawing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66 The Silverlight Image Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68 Images Via the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69 Image and ImageSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Loading Local Bitmaps from Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Capturing from the Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 The Phone’s Photo Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 5 Sensors and Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Accelerometer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 A Simple Bubble Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89 Geographic Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94 Using a Map Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98 6 Issues in Application Architecture . . . . . . . . . . . . . . . . . . . . . . . . 107 Basic Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107 Passing Data to Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 Sharing Data Among Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116 Retaining Data across Instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 The Multitasking Ideal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 Task Switching on the Phone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 Page State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126 Isolated Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130 Xna Tombstoning and Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134 Testing and Experimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140 Part II Silverlight 7 XAML Power and Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 A TextBlock in Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144 Property Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146 Property-Element Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148 Colors and Brushes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149 Content and Content Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156 The Resources Collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159 Sharing Brushes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161 x:Key and x:Name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164 An Introduction to Styles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164 AA0044TT665566667733..iinndddd vvii 1111//1188//22001100 55::0022::0088 PPMM Table of Contents vii Style Inheritance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166 Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168 Gradient Accents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168 8 Elements and Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Basic Shapes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173 Animating at the Speed of Video. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180 Handling Manipulation Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182 The Border Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184 TextBlock Properties and Inlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187 More on Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190 Playing Movies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 Modes of Opacity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 Non-Tiled Tile Brushes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196 9 The Intricacies of Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 The Single-Cell Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198 The StackPanel Stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200 Text Concatenation with StackPanel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204 Nested Panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .206 Visibility and Layout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207 Two ScrollViewer Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208 The Mechanism of Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215 Inside the Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216 A Single-Cell Grid Clone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217 A Custom Vertical StackPanel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221 The Retro Canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224 Canvas and ZIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229 The Canvas and Touch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .230 The Mighty Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231 10 The App Bar and Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 ApplicationBar Icons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235 Jot and Application Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .244 Jot and Touch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248 Jot and the ApplicationBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251 Elements and Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256 RangeBase and Slider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258 AA0044TT665566667733..iinndddd vviiii 1111//1188//22001100 55::0022::0099 PPMM The Basic Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264 The Concept of Content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267 Theme Styles and Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271 The Button Hierarchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .273 Toggling a Stopwatch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275 Buttons and Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284 TextBox and Keyboard Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286 11 Dependency Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 The Problem Illustrated. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297 The Dependency Property Difference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .300 Deriving from UserControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311 A New Type of Toggle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .322 Panels with Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327 Attached Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .333 12 Data Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Source and Target. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .339 Target and Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .342 Binding Converters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .344 Relative Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .349 The “this” Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .350 Notifi cation Mechanisms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .354 A Simple Binding Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .355 Setting the DataContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361 Simple Decision Making . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .366 Converters with Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .370 Give and Take. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 TextBox Binding Updates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .380 13 Vector Graphics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 The Shapes Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .393 Canvas and Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .394 Overlapping and ZIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .396 Polylines and Custom Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .398 Caps, Joins, and Dashes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .403 Polygon and Fill. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .410 The Stretch Property. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .412 Dynamic Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .413 AA0044TT665566667733..iinndddd vviiiiii 1111//1188//22001100 55::0022::0099 PPMM Table of Contents ix The Path Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .416 Geometries and Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .422 Grouping Geometries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .427 The Versatile PathGeometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .428 The ArcSegment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .430 Bézier Curves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .438 The Path Markup Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .447 How This Chapter Was Created . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .452 14 Raster Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 The Bitmap Class Hierarchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .459 WriteableBitmap and UIElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .461 The Pixel Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .468 Vector Graphics on a Bitmap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .472 Images and Tombstoning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .478 Saving to the Picture Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .486 Becoming a Photo Extras Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .494 15 Animations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 Frame-Based vs. Time-Based . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .505 Animation Targets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .508 Click and Spin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .509 Some Variations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .512 XAML-Based Animations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 A Cautionary Tale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .519 Key Frame Animations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .526 Trigger on Loaded. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .530 Animating Attached Properties (or Not) . . . . . . . . . . . . . . . . . . . . . . . . . . . .539 Splines and Key Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .543 The Bouncing Ball Problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .552 The Easing Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .556 Animating Perspective Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .562 Animations and Property Precedence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .569 16 The Two Templates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573 ContentControl and DataTemplate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .573 Examining the Visual Tree. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .578 ControlTemplate Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .583 The Visual State Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .594 AA0044TT665566667733..iinndddd iixx 1111//1188//22001100 55::0022::0099 PPMM

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.