Free ebook: Programming Windows Phone 7, by Charles Petzold

by Duy on October 29, 2010

ebook programming windows phone_7

Want to play with the new Windows Phone platform? Read this free ebook with 24 chapters, about 1,000 pages written by Charles Petzold.

TABLE OF CONTENTS

Part I The Basics

1 Hello, Windows Phone 7

- Targeting Windows Phone 7

- The Hardware Chassis

- Sensors and Services

- File | New | Project

- A First Silverlight Phone Program

- The Standard Silverlight Files

- Color Themes

- Points and Pixels

- The XAP is a ZIP

- An XNA Program for the Phone

2 Getting Oriented

- Silverlight and Dynamic Layout

- Orientation Events

- XNA Orientation

- Simple Clocks (Very Simple Clocks)

3 An Introduction to Touch

- Low-Level Touch Handling in XNA

- The XNA Gesture Interface

- Low-Level Touch Events in Silverlight

- The Manipulation Events

- Routed Events

- Some Odd Behavior?

4 Bitmaps, Also Known as Textures

- XNA Texture Drawing

- The Silverlight Image Element

- Images Via the Web

- Image and ImageSource

- Loading Local Bitmaps from Code

- Capturing from the Camera

- The Phone’s Photo Library

5 Sensors and Services

- Accelerometer

- A Simple Bubble Level

- Geographic Location

- Using a Map Service

6 Issues in Application Architecture

- Basic Navigation

- Passing Data to Pages

- Sharing Data Among Pages

- Retaining Data across Instances

- The Multitasking Ideal

- Task Switching on the Phone

- Page State

- Isolated Storage

- XNA Tombstoning and Settings

- Testing and Experimentation

Part II Silverlight

7 XAML Power and Limitations

- A TextBlock in Code

- Property Inheritance

- Property-Element Syntax

- Colors and Brushes

- Content and Content Properties

- The Resources Collection

- Sharing Brushes

- x:Key and x:Name

- An Introduction to Styles

- Style Inheritance

- Themes

- Gradient Accents

8 Elements and Properties

- Basic Shapes

- Transforms

- Animating at the Speed of Video

- Handling Manipulation Events

- The Border Element

- TextBlock Properties and Inlines

- More on Images

- Playing Movies

- Modes of Opacity

- Non-Tiled Tile Brushes

9 The Intricacies of Layout

- The Single-Cell Grid

- The StackPanel Stack

- Text Concatenation with StackPanel

- Nested Panels

- Visibility and Layout

- Two ScrollViewer Applications

- The Mechanism of Layout

- Inside the Panel

- A Single-Cell Grid Clone

- A Custom Vertical StackPanel

- The Retro Canvas

- Canvas and ZIndex

- The Canvas and Touch

- The Mighty Grid

10 The App Bar and Controls

- ApplicationBar Icons

- Jot and Application Settings

- Jot and Touch

- Jot and the ApplicationBar

- Elements and Controls

- RangeBase and Slider

- The Basic Button

- The Concept of Content

- Theme Styles and Precedence

- The Button Hierarchy

- Toggling a Stopwatch

- Buttons and Styles

- TextBox and Keyboard Input

11 Dependency Properties

- The Problem Illustrated

- The Dependency Property Difference

- Deriving from UserControl

- A New Type of Toggle

- Panels with Properties

- Attached Properties

12 Data Bindings

- Source and Target

- Target and Mode

- Binding Converters

- Relative Source

- The “this” Source

- Notification Mechanisms

- A Simple Binding Server

- Setting the DataContext

- Simple Decision Making

- Converters with Properties

- Give and Take

- TextBox Binding Updates

13 Vector Graphics

- The Shapes Library

- Canvas and Grid

- Overlapping and ZIndex

- Polylines and Custom Curves

- Caps, Joins, and Dashes

- Polygon and Fill

- The Stretch Property

- Dynamic Polygons

- The Path Element

- Geometries and Transforms

- Grouping Geometries

- The Versatile PathGeometry

- The ArcSegment

- Bézier Curves

- The Path Markup Syntax

- How This Chapter Was Created

14 Raster Graphics

- The Bitmap Class Hierarchy

- WriteableBitmap and UIElement

- The Pixel Bits

- Vector Graphics on a Bitmap

- Images and Tombstoning

- Saving to the Picture Library

- Becoming a Photo Extras Application

15 Animations

- Frame-Based vs. Time-Based

- Animation Targets

- Click and Spin

- Some Variations

- XAML-Based Animations

- A Cautionary Tale

- Key Frame Animations

- Trigger on Loaded

- Animating Attached Properties (or Not)

- Splines and Key Frames

- The Bouncing Ball Problem

- The Easing Functions

- Animating Perspective Transforms

- Animations and Property Precedence

16 The Two Templates

- ContentControl and DataTemplate

- Examining the Visual Tree

- ControlTemplate Basics

- The Visual State Manager

- Sharing and Reusing Styles and Templates

- Custom Controls in a Library

- Variations on the Slider

- The Ever-Handy Thumb

- Custom Controls

17 Items Controls

- Items Controls and Visual Trees

- Customizing Item Displays

- ListBox Selection

- Binding to ItemsSource

- Databases and Business Objects

- Fun with DataTemplates

- Sorting

- Changing the Panel

- The DataTemplate Bar Chart

- A Card File Metaphor

18 Pivot and Panorama

- Compare and Contrast

- Music by Composer

- The XNA Connection

- The XNA Music Classes: MediaLibrary

- Displaying the Albums

- The XNA Music Classes: MediaPlayer

Part III XNA

19 Principles of Movement

- The Naïve Approach

- A Brief Review of Vectors

- Moving Sprites with Vectors

- Working with Parametric Equations

- Fiddling with the Transfer Function

- Scaling the Text

- Two Text Rotation Programs

20 Textures and Sprites

- The Draw Variants

- Another Hello Program?

- Driving Around the Block

- Movement Along a Polyline

- The Elliptical Course

- A Generalized Curve Solution

21 Dynamic Textures

- The Render Target

- Preserving Render Target Contents

- Drawing Lines

- Manipulating the Pixel Bits

- The Geometry of Line Drawing

- Modifying Existing Images

22 From Gestures to Transforms

- Gestures and Properties

- Scale and Rotate

- Matrix Transforms

- The Pinch Gesture

- Flick and Inertia

- The Mandelbrot Set

- Pan and Zoom

- Game Components

- Affine and Non-Affine Transforms

23 Touch and Play

- More Game Components

- The PhingerPaint Canvas

- A Little Tour Through SpinPaint

- The SpinPaint Code

- The Actual Drawing

- PhreeCell and a Deck of Cards

- The Playing Field

- Play and Replay

24 Tilt and Play

- 3D Vectors

- A Better Bubble Visualization

- The Graphical Rendition

- Follow the Rolling Ball

- Navigating a Maze

You can download a PDF here (38.6 MB).

And you can download the ebook’s sample code here (5.03 MB).


Leave a Comment

Previous post:

Next post: