Lately, I have read 2 books related to the Windows Phone 7 programming.
The first one is titled “Windows Phone 7 Developer Guide – Building connected mobile applications with Microsoft Silverlight” (ISBN 978-0-7356-5609-3) published in February 2011 by Microsoft Press Patterns & Practices.
I can’t say that you will learn how to program your phone by reading this book (even if you find code snippet here and there). This is really not what authors are targeting. This book, like all the books in that series, gives you the best practices and many little things you need to know and think of when you create application that will run on a Windows Phone. It even introduces the reader to the very popular MVVM pattern.
I would suggest you to read this book not only once but twice! The first time before you write your first application and a second time after you think you finished it (to ensure you have not forgotten anything).
You can also find the books at http://msdn.microsoft.com/en-us/library/gg490765.aspx.
The second book is much more technical. This one is titled “Programming Windows Phone 7 – Microsoft Silverlight Edition” by Charles Petzold also published by Microsoft Press in December 2010 (ISBN 978-0-7356-5667-3).
This book is full of samples, many times in both XNA and Silverlight when it applies, about just every aspect of programming a Windows Phone 7. The samples are short enough to easily reuse them but complete enough to fully understand what is demonstrated. I think it covers every aspect of the phone programming with topics including controls, sensors, themes, map services, camera, accelerometer, and more.
Even if the book specifically targets the Windows Phone 7 development, many topics, because they are pure Silverlight, also applies to any Silverlight applications not targeting the phone.
This book is a must read.
This book is also available for free from http://blogs.msdn.com/b/microsoft_press/archive/2011/02/03/new-book-microsoft-silverlight-edition-programming-windows-phone-7.aspx.