Free ebook: Programming Windows Phone 7, by Charles Petzold


9780735643352xGang, we’re done! 24 chapters, about 1,000 pages. Congratulations to Charles, who has outdone himself!

Speaking for Charles and for the Windows Phone 7 team, we hope that you will enjoy Programming Windows Phone 7:

You can download a PDF here (38.6 MB). [NEWER NOTE: the presentation issues have been fixed.] [OLDER NOTE: we see the comments from some of you about presentation issues with the ebook. We’ve determined that the PDF is missing a required embedded font. This is leading to odd (or worse) presentation for some of you, including bitmapped text. We’re working with the vendor to create a new file. I’ll let you know when the new file has replaced the old one in the Microsoft Download Center. We apologize for this!]

You can download the ebook’s C# sample code here (5.03 MB).

And you can download the sample code in Visual Basic for Chapters 1-18 here (5.21 MB).

And, as of August 1, 2011, you can now download an EPUB version here and a MOBI version here.

To give you a sense of this offering, here is Charles’s Introduction—beneath that you’ll find the ebook’s full Table of Contents:

Introduction

This book is a gift from the Windows Phone 7 team at Microsoft to the programming community, and I am proud to have been a part of it. Within the pages that follow, I show you the basics of writing applications for Windows Phone 7 using the C# programming language with the Silverlight and XNA 2D frameworks.

Yes, Programming Windows Phone 7 is truly a free download, but for those readers who still love paper—as I certainly do—this book will also be available (for sale) divided into two fully-indexed print editions: Microsoft Silverlight Programming for Windows Phone 7 and Microsoft XNA Framework Programming for Windows Phone 7. [Note from Devon: we should have these ready for order in December 2010.]

With the money you’ve saved downloading this book, please buy other books. Despite the plethora of information available online, books are still the best way to learn about programming within a coherent and cohesive tutorial narrative. Every book sale brings a tear of joy to an author’s eye, so please help make them weep overflowing rivers.

In particular, you might want to buy other books to supplement the material in this book. For example, I barely mention Web services in this book, and that’s a serious deficiency because Web services are likely to become increasingly important in Windows Phone 7 applications. My coverage of XNA is limited to 2D graphics and while I hope to add several 3D chapters in the next edition of this book, I don’t really get into the whole Xbox LIVE community aspect of game development. Nor do I discuss any programming tools beyond Visual Studio—not even Expression Blend.

My publisher Microsoft Press has a couple additional Windows Phone 7 books coming soon: Windows Phone 7 Silverlight Development Step by Step by Andy Wigley & Peter Foot offers a more tools-oriented approach. Although Michael Stroh’s Windows Phone 7 Plain & Simple is a guide to using the phone rather than developing for it, I suspect it will give developers some insights and ideas.

Moreover, I also hear that my old friend Doug Boling is working hard on a Windows Phone 7 enterprise-programming book that is likely to be considered his masterpiece. Be sure to check out that one.

Organization

This book is divided into three parts. The first part discusses basic concepts of Windows Phone 7 programming using example programs that target both Silverlight and the XNA framework. It is likely that many Windows Phone 7 developers will choose either one platform or the other, but I think it’s important for all developers who have at least a little knowledge of the alternative to their chosen path.

The second part of this book focuses entirely on Silverlight, and the third part on XNA 2D. For your convenience, the chapters in each part build upon previous knowledge in a progressive tutorial narrative, and hence are intended to be read sequentially.

My Assumptions About You

I assume that you know the basic principles of .NET programming and you have a working familiarity with the C# programming language. If not, you might benefit from reading my free online book .NET Book Zero: What the C or C++ Programmer Needs to Know about C# and the .NET Framework, available from my website at www.charlespetzold.com/dotnet.

System Requirements

To use this book properly you’ll need to download and install the Windows Phone Developer Tools, which includes Visual Studio 2010 Express for Windows Phone, XNA Game Studio 4.0, and an on-screen Windows Phone Emulator to test your programs in the absence of an actual device. Get the latest information and downloads at http://developer.windowsphone.com.

You can install these tools on top of Visual Studio 2010, in effect enhancing Visual Studio 2010 for phone development. That’s the configuration I used.

Although you can do quite a bit with the phone emulator, at some point you’ll want to deploy your programs to an actual Windows Phone 7 device. You can register as a phone developer at http://developer.windowsphone.com and then have the ability to unlock your phone so you can deploy your programs from Visual Studio.

Since late July 2010, I’ve had an LG GW910 phone to test the programs in this book. For the record, the final build I installed was 7.0.7003.0.

Using the Phone Emulator

Windows Phone 7 supports multi-touch, and working with multi-touch is an important part of developing programs for the phone. When using the Windows Phone Emulator, mouse clicks and mouse movement on the PC can mimic touch on the emulator, but for only one finger. You can test out multi-touch for real on the phone emulator if you have a multi-touch monitor running under Windows 7.

In the absence of a multi-touch monitor, you might want to explore simulating multi-touch with multiple mouse devices. The site http://multitouchvista.codeplex.com has the download you’ll need and includes a link to http://michaelsync.net/2010/04/06/step-by-step-tutorial-installing-multi-touch-simulator-for-silverlight-phone-7 that provides instructions.

Windows Phone 7 devices also have a built-in accelerometer, which can be very difficult to simulate in an emulator. Per Blomqvist, the Technical Reviewer for this book, found an application at http://accelkit.codeplex.com that utilizes the webcam and ARToolkit to emulate the accelerometer sensor and feed that data into the Windows Phone 7 emulator through a TCP/HTTP Server, and although neither of us have tried it out, it sounds quite intriguing.

Code Samples

To illustrate Silverlight and XNA programming concepts, this book describes about 190 complete programs. Many of them are small and simple, but others are larger and more interesting.

Some people like to learn new programming environments by re-creating the projects in Visual Studio and typing in the source code themselves from the pages of the book. Others prefer to study the code and run the pre-existing programs to see what the code does. If you fall into the latter category, you can download all the source code in a ZIP file. The location of this ZIP file is available from my website at www.charlespetzold.com/phone and from the Microsoft Press blog at http://blogs.msdn.com/b/microsoft_press/.

If you find something in the code that is useful in your own software project, feel free to use the code without restriction—either straight up or modified in whatever way you want. That’s what it’s there for.

Last-Minute Items

As I was nearing the completion this book, the first version of the Silverlight for Windows Phone Toolkit was released with some additional elements and controls, and is available for downloading at http://silverlight.codeplex.com. Historically, these Silverlight toolkits very often contain previews of elements and controls that are incorporated into later Silverlight releases. I regret that I could not include a discussion of the toolkit contents in the appropriate chapters of this book.

With XNA programs, sometimes Visual Studio complains that it can’t build or deploy the program. If you encounter that problem, in the Solution Platforms drop-down list on the standard toolbar, select “Windows Phone” rather than “Any CPU”. Or, invoke the Configuration Manager from the Build menu, and in the Active Solution Platform drop-down select “Windows Phone” rather than “Any CPU”.

The www.charlespetzold.com/phone page on my website will contain information about this book and perhaps even some information about a future edition. I also hope to blog about Windows Phone 7 programming as much as possible.

The Essential People

This book owes its existence to Dave Edson—an old friend from the early 1990s era of Microsoft Systems Journal—who had the brilliant idea that I would be the perfect person to write a tutorial on Windows Phone 7. Dave arranged for me to attend a technical deep dive on the phone at Microsoft in December 2009, and I was hooked. Todd Brix gave the thumbs up on the book, and Anand Iyer coordinated the project with Microsoft Press.

At Microsoft Press, Ben Ryan launched the project and Devon Musgrave had the unenviable job of trying to make my code and prose resemble an actual book. (We all go way back: You’ll see Ben and Devon’s names on the bottom of the copyright page of Programming Windows, fifth edition, published in 1998.)

My Technical Reviewer was the diligent Per Blomqvist, who apparently tested all the code in both the sample files and as the listings appear in the book, and who in the process caught several errors on my part that were truly, well, shocking.

Dave Edson also reviewed some chapters and served as conduit to the Windows Phone team to deal with my technical problems and questions. Early on, Aaron Stebner provided essential guidance; Michael Klucher reviewed chapters, and Kirti Deshpande, Charlie Kindel, Casey McGee, and Shawn Oster also had important things to tell me. Thanks to Bonnie Lehenbauer for reviewing a chapter.

I am also indebted to Shawn Hargreaves for his XNA expertise, and Yochay Kiriaty and Richard Bailey for the lowdown on tombstoning.

My wife Deirdre Sinnott has been a marvel of patience and tolerance over the past months as she dealt with an author given to sudden mood swings, insane yelling at the computer screen, and the conviction that the difficulty of writing a book relieves one of the responsibility of performing basic household chores.

Alas, I can’t blame any of them for bugs or other problems that remain in this book. Those are all mine.

Charles Petzold
New York City and Roscoe, New York
October 22, 2010

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

Comments (180)

  1. avrashow says:

    An avid Silverlight developer, I plan to savor this book as I have other books by Mr Petzold.

  2. Ben Maddox says:

    This looks nice.  I hope this doesn't seem inconsiderate, but is there also a .mobi format ebook?  PDF format books are great for the computer but not all ebook readers.

  3. Hi, Ben. This is the format for free stuff at the moment. We're analyzing costs of other formats in these no-revenue cases, but we can only do so much when we're giving it away. But thanks much for the question; we always appreciate hearing from readers, sincerely.

  4. David says:

    I'd love to see a mobi format too, I'd happily pay for it

  5. David says:

    I'd love to see a mobi format too, I'd happily pay for it

  6. David Hayes says:

    I'd love to see a mobi format too, I'd happily pay for it

  7. Nirajan says:

    Thanks for providing the book. Gonna start reading from tonight.

  8. Krishna says:

    Thanks….

  9. Christof says:

    +1 on the "real" ebook format. mobi is fine ePub ok as well.

  10. Christof says:

    +1 on the "real" ebook format. mobi is fine ePub ok as well.

  11. MumHaBR says:

    Thanks for providing the book.

    From Brazil.

  12. Henrique says:

    Thank you very much….

  13. Dave Edson says:

    Charles, you rock! Your book is the icing on the Windows Phone 7 cake.

  14. Dave Edson says:

    Charles, you rock! Your book is the icing on the Windows Phone 7 cake.

  15. Tim Conama says:

    Thank you very much. I appreciate this and your past efforts.

  16. Tim Conama says:

    Thank you very much. I appreciate this and your past efforts.

  17. Dominic Hopton says:

    This PDF appears to render very very oddly on my mac:

    Picture: http://cl.ly/31vU

  18. Ben says:

    Guys – you can use something like Calibre (http://calibre-ebook.com/) to convert from PDF to whatever ebook format you want. It's not always perfect, but is almost always better than trying to read a PDF

  19. Carlos A. Pérez MVP Devices App. Development says:

    This is an incredible effort by Mr. Petzold. Thank you very much.

  20. Gonzix says:

    Thanks for the book but it shows like rubbish on my iPad!!!

  21. Govind says:

    Thank you for the book.

  22. Chaitanya says:

    Thanks for the free e-book.

  23. Ayan says:

    Thax a lot!

  24. lilin says:

    看不懂啊。。。我是学动画的

  25. Asheej says:

    Thanks a lot for sharing the book and sample code.

  26. GregoryM says:

    >>Dominic Hopton

    >>This PDF appears to render very very oddly on my mac:

    >>Picture: http://cl.ly/31vU

    The same thing on my 10.6 mac too 🙁

  27. Greg Russell says:

    The name Petzold inspires confidence. I grew up as a Windows developer using his book on Windows 3.1. My well-thumbed copy still occupies a place on my bookshelf for reasons of nostalgia where other volumnes have been consigned to the loft or even recycled.

  28. SeanJA says:

    @ people who want it in mobi format: You should be able to easily convert it using calibre if you are so inclined. http://calibre-ebook.com/ (as long as the terms don't say that you aren't allowed to). Personally I prefer epub over mobi.

  29. Anthony Vranic says:

    I'm a huge Petzold fan and this is a Godsend. You guys really did the right thing be releasing this for free, and I'm sure it'll have the same impact for WP7 as his earlier books did for Windows.  Here come the developers…

    p.s. +1 on the .epub version. 🙂

  30. Jordan Pollard says:

    This is great!! Very Intuitive.

  31. Jordan Pollard says:

    ^ new fan…This is great!! Very Intuitive.

  32. Deepak Tundwal says:

    Thanks a lot Charles…I always enjoy reading your books.

  33. Shiva Kumar says:

    Thanks very much. I appreciate you for this.

  34. F Fernandez says:

    Thank you very much. Cheers!!!

  35. Fábio Franco says:

    Hi Charles, I want to thank you and microsoft for this community effort. However, it would be really nice to be able to buy a printed copy from amazon. For people like me that can't read from e-books, a printed copy is a must. If we have a free version of the e-book, it would probably be a cheap printed copy.

    Regards

  36. Christopher Estep says:

    Fábio, there is a printed book coming, two actually. It should be able to be ordered in December.  Reread the post. 🙂

  37. Christopher Estep says:

    Fábio, there is a printed book coming, two actually. It should be able to be ordered in December.  Reread the post. 🙂

  38. Maneesh says:

    Great Post.

  39. Mel says:

    Awesome! I have something to do for the weekend

  40. Kevin Fan says:

    Thank you very much. It is really a great book for developers.

  41. Govindraj Joshi says:

    Thanks for the PDF. I was eagarly waiting for such book to get started with WP7.

  42. Sborders says:

    Dominic Hopton

    >>This PDF appears to render very very oddly on my mac:

    >>Picture: http://cl.ly/31vU

    The same thing on my 10.6 mac too 🙁

    My iPad too.

  43. Pakorasu says:

    Thank you so much.

  44. rusty says:

    yes thanks!

  45. Bindesh Vijayan says:

    Thank you very much !

  46. @Sborders says:

    Did the same thing to me. Glad I wasn't the only one.

  47. Aaron says:

    That's great! Now, how about delivering the ebook in a decent format, like epub?

  48. Michael Fuerst says:

    Thanks for this great book. I already read your previews. But I have a big problem with the final version: Most of the bigger images do not show up on my Kindle! Please please fix this. It worked fine in the previews.

    Already ordered the printed version. But I would also buy a mobi or epub version, so please consider it.

    Thanks again for the great work!

  49. Michael Fuerst says:

    Thanks for this great book. I already read your previews. But I have a big problem with the final version: Most of the bigger images do not show up on my Kindle! Please please fix this. It worked fine in the previews.

    Already ordered the printed version. But I would also buy a mobi or epub version, so please consider it.

    Thanks again for the great work!

  50. Craig pickles says:

    Very strange. Won't display on iPad using iBooks or Goodreader app. Is this intentional I wonder?

  51. Eric says:

    Thank you so much.

  52. instcode says:

    The book looks great and I want to read it on the way home. Unfortunately, it can't be viewed on my Nexus One. Although I can read it on my Windows, I can't seem to select any text and I think there's some problems w/ the book pdf format that caused my mobile reader crashed. Plz check…

  53. Rod Falanga says:

    Thank you very much!

  54. joebo says:

    Thanks for the great download!!!!

    For some reason this PDF isn't rendering properly on my iPad.  It renders fine on my pc.  Could someone look into this please?

  55. Michael says:

    For whatever reason, I am unable to view the PDF on any machine. The text (except for code samples) appears as blurry lines (very unreadable). Is anyone experiencing the same issue?

  56. Ed Bomke says:

    Although Preview on the Mac doesn't render the book's text properly, Adobe Reader (free download) for Mac displays the book just fine.

  57. Dmitry Vinogradov says:

    Thank you very much guys for providing this book for free. My word here that I will buy a paper copy when it is out.

  58. Ameer says:

    Thank you 🙂

    from India

  59. Dieter says:

    this book is shown bad at the ipad, there is a problem with the pdf

  60. Keraj says:

    So shitty, that anybody would buy it, so you must give it to people for free…

  61. pdfexpert says:

    The book does not contains text (except for code examples) everything is black images with image mask shaped as text on top.  This is probably some kind of copy protection to prevent copy-paste and is the reason why it does not render on Mac/iOS.

  62. Jerry says:

    Thanks!  I appreciate the effort.

  63. Harry Simpson says:

    So does anyone on the Windows 7 team use VB.NET instead of C#?

  64. Simon says:

    Any chance of getting a version that displays on an ipad?

  65. Russ Freeman says:

    Yeah, thanks for book although completely unreadable here, at the moment.

  66. Darren Oster says:

    Hmm… The lack of response to the issue of unreadability on the iPad is disturbing…  I don't really care one way or the other about mobi or epub formats, but a working PDF would be nice…

  67. Hey everybody, see our blog post from earlier today for an update on presentation issues some of you are experiencing: blogs.msdn.com/…/issues-with-programming-windows-phone-7-ebook.aspx

  68. Seif says:

    Thanks a lot for all the effort you are doing!!! Go Ahead!!

  69. Clee says:

    I need the iPad version of this book

  70. Karthik Iyer says:

    Thanks Charles…. Good Book for Starting Development

  71. Karthik Iyer says:

    Thanks Charles…. Good Book for Starting Development

  72. Rajendra Bhole says:

    Thanks,

    For sharing us that e-book.

  73. Amol Patki says:

    Thank you Charles. Great work.

  74. cornerofart says:

    Thank you very much.

  75. <a href="www.s3csystems.com">Matthias Denkmaier</a> says:

    Thank you Charles! Thank you very much! I loved "Application = Code + Markup" and I will love this one too!

  76. KJ says:

    Thank you very much Charles for providing this book… You realy ROCK..!

  77. James H says:

    When extracting the Compressed Folder of the code samples, Win 7 is giving:

    Error 0x80010135: Path too long

    This is on a Visual Studio Data Source File that is 711 bytes, with a name that begins with "SilverlightLocationMapper.MsrMapsService.Con…"

    And another file that starts with that name that is 697 bytes.

    And another file that starts with that name that is 697 bytes.

    And another file that starts with that name that is 697 bytes.

    And another file that starts with that name that is 689 bytes.

    And another file that starts with that name that is 699 bytes.

    And another file that starts with that name that is 695 bytes.

    Has anyone else had this problem? Hopefully it's not too buggered up by skipping these 7 files.

    Is there any reason to have such a rediculously long name?

  78. James H,

    Some sample code folder path names are too long when you’re unzipping the sample code. (Windows limits a single path to 260 characters.) So you might want to shorten the path name for the code when you’re unzipping it, shortening “Microsoft_Press_ebook_Programming_Windows_Phone_7_Sample_Code” to “MSPress_ProgWP7code,” for example.

  79. eyuzwa says:

    It's a priviledge just to retweet this page. Petzold, you've outdone yourself!

  80. Zainudeen says:

    Thank you so much Sir.Got  interested in Mobile development recently and I hope your book would be great to begin with.

  81. Sameer Panchangam says:

    Awesome!!! Thanks a bunch!

  82. Simon Price says:

    We were only talking about mobilde development yesterday and then bing… the book is here….

  83. Vikhe says:

    An .epub format would be ideal too.

  84. Ignacio says:

    Muchas gracias por el aporte.

  85. Peter S. says:

    Wow, Charle's books are always top notch. Love it he has one for Windows Phone 7. Seems like only yesterday I was programming "Hello World" many versions of Windows back! 🙂

  86. Peter S. says:

    Wow, Charle's books are always top notch. Love it he has one for Windows Phone 7. Seems like only yesterday I was programming "Hello World" many versions of Windows back! 🙂

  87. César Rovegno says:

    Thanks you very much!

  88. Ismail Alkan says:

    Why no VB.NET support? Does anyone at Microsoft use VB.NET at all?

  89. MichaelKosak (meet me on facebook!) says:

    If you were to o by my bookshelf, Petzold would be my favorite author.  I have dome more work with his help and examples than almost anything else in my 25 year software engineering carreer

  90. Fath Elus says:

    Thank you very much for putting this ebook out.

    I have used Mr. Petzold's book on Win32 programming.

    To see him bring reference material for Windows Phone 7, is excellent.

    The Windows Phone 7 developement environment is an amazing platform.

  91. Wolfman73 says:

    I <3 Charles and Microsoft!  Thanks!!!

  92. Hicham.Hamid says:

    thanks a lot!

  93. Hicham.Hamid says:

    thanks a lot!

  94. Ismail Alkan,

    We'll be releasing VB sample code too. We're working on it!

  95. Richie Savant says:

    Thanks for the book.

    I'm currently considering developing for Phone 7 – never got into the iPhone stuff!

  96. Louis says:

    Any chance of a second edition with VB code?

  97. Louis says:

    Ah, I just read your comment about the VB sample code. Looking forward to it!

    Thank you

  98. Nathanael Drenth (NL) says:

    Thanks for this free ebook

  99. Ousmane says:

    Thanks a lot

  100. Mony Iem says:

    Thank you very much!

  101. Donald Miller says:

    Thanks for making a way for a newby to start from scratch .I have a few ideas and all I need is one good one .Thanks for being a part of me acquiring the ability to transform my thought into reality.My dreams come true.

  102. Gboluwaga says:

    May God bless you Charles!

  103. ArtFeel says:

    *.Mobi or *.ePub please. I'm ready to buy it, convert from pdf makes it unreadeble )=

  104. Rajiv Bishwokrma says:

    Thanks very very much.

  105. Anil K B says:

    Thank You Very Much.I have been looking around and around for materials for Starting Mobile Application Development in windows 7 And finally Your Books Explain clearly the Path to Start with.

    Thank you Very much

  106. Raju says:

    Thank you very much, I am searching for something like this.

  107. Damon says:

    oh my god

  108. Damon says:

    Thank you

  109. Medhat says:

    Good efforts , thank you .. i'm new for Windows Phone 7 and hope to be professional some day in this new way .. i'm already now C# developer for 3 years .. thanks

  110. Amir says:

    Сan't download: "The page is unavailable or no longer exists"

  111. Amir says:

    Now it's ok! Thanks.

  112. Raymond Tang says:

    Thanks very much~

  113. Praveen Behara says:

    Great Job Charles… Thank you very much 🙂

  114. Bharath says:

    Thank you SO MUCH for the OPENNESS in sharing the book for FREE to the programming community…

  115. mREZA says:

    Thank you very much for providing the book!

  116. Neo says:

    What a brilliant artwork. I don't know C# yet, but suddenly I found you have already prepaired a preliminary textbook for me as well.

    I wish one day I can do a littly bit similar thing like this.

    Thank you very much Charles.

  117. Chester Field says:

    Link sent me here, but am I blind or are they hiding the download book link? Typical……….

  118. shanthu says:

    Charles,

    You are getting better with age. What is the secret? You WPF book is still 'BEST WPF BOOK EVER WRITTEN' (Nathan – sorry).

    I have not read this book completely yet. Looking at the contents, I was just wondering about database and web service related topics. Any serious application has to incorporate both of these aspects. Please plan on adding some content around those topics.

    Thanks very much. Happy holidays.

    Regards

    Shanthu

  119. Rohan says:

    Lovely book just startered developing , superb .

  120. Source code does not download properly?! says:

    For some reason – the source code does not download properly.  I believe that the download is supposed to be about 5.02MB and only 1.15MB comes down and does not open.  Can you please fix and reupload?

  121. http://www.faucetso.com/ says:

    You can be confident in your purchase as each item comes with a no hassle 30 day return privilege.

  122. miyomi says:

    I have downloaded the eBook. The eBook can not be opened, the message said that was corrupted.

    Is there anyone have the same problem? please advice.

    Thanks.

  123. Jingxiang Zhang says:

    Congrats! Another classic is finally arrived!

  124. Dinesh says:

    Thank you very much.

  125. Deepak says:

    Thanks a lot for the eBook. Appreciate it much, Petzold and Devon, may I assume 🙂

  126. DaveOL says:

    Thank you for this generous gift. This is the kind of smart sharing that differentiates companies that get the modern business ecosystem 🙂

  127. Plantronics Headsets says:

    I like this e book. Its very informative and have nice knowledge.

    (moriswatson@gmail.com)

    <a href="http://www.mediaheadsets.com">Plantronics Headsets</a>

  128. Yu Xia says:

    It's awesome! The best book on windows phone development so far. Especially the tiny examples, easy enough for a beginner to understand while containing many essential elements (tricks, experiences) of a real project.

  129. JB says:

    Microsoft is doing a good job this time. Congratulations!

  130. Darren Rivett says:

    I have a .mobi version if it is required by anyone.

  131. ghareeb says:

    thanks alot

  132. used computers says:

    The blog provides helpful information regarding the topic and it also gives a vast knowledge as well which helps us in our studies and in practical life.

  133. Juan Arbelaez says:

    Now with MSFT & Nokia, and this ebook , we can doing amazing things!, Thanks.

  134. Chuan says:

    Thank you Charles. It is very nice!

  135. Pavan Pareta says:

    Hi Charles,

    Thank you very much for the great book.

  136. Nick Leonard says:

    Thank you Charles, I've read your books since Windows Programming 2nd Edition and couldn't have succeeded without them.

  137. Bonjour, à vous d'abords très content de participe à Imagine Cup 2011, ensuite satisfait des outils que vous mettez à notre disposition le défi il est énorme mais il est aussi stimulant et passionnant merci à vous.  

  138. Thiago Oliveira says:

    Muito bom esse livro galera. Vale a pena baixar.

    o/

  139. Eman says:

    Thank you very much for sharing the book ,I appreciate this and your efforts.

  140. Suraj Verma says:

    Thanks

  141. Waleed khan says:

    Charles i,ve been a fan of your writing ever since i read "programming windows with c#", this book is truly a remarkable gem, Thank you very much for authoring it….  

  142. PV says:

    Great work! Now a question: is an update of the book comming, to reflect changes coming in May 2011?

  143. Fırat Esmer says:

    Thanks!

  144. rahyu gakusei says:

    It is a very good e-book and gets many things/problems straight. Thank you very much.

    Regards form Poland.

  145. kyle says:

    finaallyyyyyy

    i was looking for some phone language book…

    thank you

  146. Ben Buttigieg says:

    Thanks for providing this great resource. Much appreciated.

    +1 for ePub/mobi format. Would it really be much effort/cost?

    I'd too would happily pay a small premium if need be.

  147. Hey everybody, EPUB & MOBI are now available for this title. See this post: blogs.msdn.com/…/new-formats-for-free-microsoft-press-ebooks.aspx

    Enjoy!

  148. Vijay says:

    I will try.

    Thank you a lot.

  149. Varun Verma(shaksz) says:

    thanks dear http://shaksz.phpzilla.net

  150. Tutang says:

    Wow. Very good and I'm sure this is very useful.

  151. Jordenys says:

    Thank you very much, This is a good Book!

  152. Kevin Cloutier says:

    I can't find where to post errata for the XNA version, so here it goes. Page 160 of the print edition, the variable tLap should be incremented, not assigned:

    Book has: tLap = (SPEED * (float)gameTime.ElapsedGameTime.TotalSeconds) % 1;

    Should be: tLap += (SPEED * (float)gameTime.ElapsedGameTime.TotalSeconds) % 1;

  153. Armando says:

    Thanks!! Grettings From Nicaragua.

  154. kavallo says:

    Gracias!!!

  155. Suat Celik says:

    Thank you very much.Very good book with source code.

  156. nadeem yousuf says:

    this is really nice 1………i love to go thro it……thanks

  157. Sapna says:

    Hi, i needed a help ; i am developing an App in which i have a requirement like; i have to store Images to such a folder which is Accessible to all other Apps…Is it possible to store Images in a location which we can retrieve back from other Application. If possible can you please provide the snippets…

    Thanks in Advance

  158. 冰水blue says:

    THANK YOU VERY MUCH.

  159. sh jalili says:

    please in the windows phone 7 up use doing farsi language. thank you

  160. Lyubomir Grigorov says:

    Thank you for MOBI format. Although… it's 50MB compare to 16MB PDF…

  161. Tom says:

    I've bought the book, and the e-book helps me finish my capstone when I need programming.

  162. Nuno Alexandre says:

    Awesome!

  163. Andrew says:

    Excellent book, unfortunately, the MOBI version is slightly over the 50MB limit, so can't push to the Kindle

  164. Nara Sastry says:

    Thanks so much. It's great !!!

  165. Fasih Mohammed says:

    Thanks for the great practical gift Microsoft.

  166. Thank you very much. I appreciate this and your past efforts.

  167. vinod says:

    In the Application called Free Cell solitaire there is a BUG which i would like to point out..

    whenever 2 cards are in serial (in order with numberings), there must be an option to drag both of them together.

    but with that app only 1 card at a time can be dagged..

  168. Jack says:

    Thank you very much

  169. serkan ÇAKMAK says:

    thx for share

  170. Nilesh Bhadane says:

    Thank You this book is very usefull for windowsphone apps developement..  

  171. Eugin MCA says:

    everybody gets a chance to know things..

    Thanks a lot friend.

  172. GabrielNar says:

    error 0x80010135 path too long:

    This is a Windows* OS/file system issue.If your folder destination path is too long(more than 255 characters  in Windows),you can get a long path error.You can fix it with additional softwares like Long Path Tool.

    http://PathTooDeep.com

    Long Path Tool can simplify and probably end your problems in unlocking, managing and renaming files that appear to have a long filename.

  173. sairam nagothu says:

    ThanQ very much …thankyou for inspiring the future Innovators

  174. Dheeraj kumar says:

    Thank you form inner soul ……very very thanks

  175. solomon kingsley eze says:

    nice one …thanks alot for this info

  176. dotnetforge says:

    Thanks for providing this book. I see it very useful! If anyone want to download .NET framework ebook, please visit us follow link: http://www.dotnetforge.com

  177. FatherlyNick says:

    It's 2014, Windows Phone 8 is on the market for a while and this book is still relevant. If anyone here is thinking if it's worth their time – do not hesitate and give it a read. Most of the principles are transferrable to Win Ph. 8.

  178. kawan says:

    this book is free?

  179. Sumeet Arora says:

    Hi,

    Nice Blog,Keep on update with such kind of blogs like game development,game development with unity,Mobile Game development.http://bit.ly/1nIWmZc

    Thanks

Skip to main content