Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Windows® Phone 7 Development Internals
A Note Regarding Supplemental Files
Foreword
Introduction
Who Should Read This Book
Assumptions
Who Should Not Read This Book
Organization of This Book
Conventions and Features in This Book
System Requirements
Code Samples
Installing the Code Samples
Using the Code Samples
Acknowledgments
Errata & Book Support
We Want to Hear from You
Stay in Touch
I. Building Blocks
1. Vision and Architecture
Windows Phone Vision
Metro
Developer Guidelines
Windows Phone Architecture
Comparison of Silverlight and XNA
Developer Tools
Development Cycle
The Anatomy of a Basic Windows Phone Application
XAP Contents
Standard Project Types
Themes and Accent Colors
Standard Application Images
Version 7 vs. Version 7.1
Summary
2. UI Core
Phone UI Elements
Standard UI Elements
Visual Tree
Screen Layout
UserControl vs. Custom Control
Routed Events
Resources
Content vs. Resource
Resource Dictionaries
Dependency and Attached Properties
Dependency Properties
Attached Properties
Summary
3. Controls
Standard Controls
Platform, SDK, Toolkit
SDK Controls: Pivot
SDK Controls: Panorama
Toolkit Controls
Transient Panels
Summary
4. Data Binding and Layer Decoupling
Life without Data Binding
Simple Data Binding and INotifyPropertyChanged
Data Binding Collections
Data Templates
Dynamic Data-Bound Collections
Template Resources
Type/Value Converters
Element Binding
Data Validation
Separating Concerns
Design-Time Data
The Model-View ViewModel Pattern
The Visual Studio Databound Application Project
Summary
5. Touch UI
Logical Touch Gestures
Manipulation Events: Single Touch (Tap)
Manipulation Events: Single Touch (Flick)
Manipulation Events: Multi-Touch
Mouse Events
FrameReported Events
Combining Manipulation and Mouse Events
Click vs. Mouse/Manipulation Events
The Silverlight Toolkit GestureService
Pinch and Drag
Flick and Tap
Problems with the GestureService
Behaviors
Keyboard Input
Orientation
The Application Bar
Summary
II. Application Model
6. Application Model
Lifetime Events and Tombstoning
Application Closing
Application Deactivated
Application Deactivated (the Non-Tombstone Case)
Unhandled Exceptions
Why Is There No App.Exit?
Obscured and Unobscured
Launchers/Choosers and Tombstoning
User Expectations
Page Model
Page Creation Order
Summary
7. Navigation State and Storage
Navigation and State
Application and Page State
Detecting Resurrection
Navigation Options
Using NavigateUri
Pages in Separate Assemblies
Fragment and QueryString
The NavigationMode Property
Rerouting Navigation and URI Mappers
Nonlinear Navigation Service
Isolated Storage
Simple Persistence
Persisting the ViewModel
Serialization Options
Isolated Storage Helpers
Summary
8. Diagnostics and Debugging
Visual Studio Debugging
Simple Diagnostics
Setting Up a Diagnostics Pop-Up Window
Fixed Diagnostics Control
Post-Release Diagnostics
Persisting Logs
Configurable Diagnostics
Screen Capture
Emulator Console Output
Debugging Tombstoning and Lock-Screen
Debugging MediaPlayer
Device and User Information
Windows Phone Performance Counters
Memory Diagnostics
The Device Emulator
Emulator vs. Device
XDE Automation
Using the Microsoft Network Monitor
Fiddler
Silverlight Spy
Summary
III. Extended Services
9. Phone Services
Phone Hardware
Launchers and Choosers
Photo Extras
Accelerometer
Reactive Extensions for .NET
Level Starter Kit
Shake
Geo-Location
Summary
10. Media Services
Audio and Video Hardware
Audio and Video APIs
Media Playback
The MediaPlayerLauncher Class
The MediaElement Class
The MediaStreamSource and ManagedMediaHelpers Classes
MediaElement Controls
Audio Input and Manipulation
The SoundEffect and SoundEffectInstance Classes
Audio Input and the Microphone
The DynamicSoundEffectInstance Class
Music and Videos Hub
The FM Tuner
Summary
11. Web and Cloud
The WebClient Class
WebClient: The DownloadStringAsync Method
WebClient: The OpenReadAsync Method
The HttpWebRequest Class
WebBrowser Control
Silverlight and Javascript
Web Services
WCF Data Services
The OData Client and XML Data
JSON-Formatted Data
Bing Maps and Geolocation
Using the Map Control
Geolocation
Bing Maps Web Services
Deep Zoom (MultiScaleImage)
Windows Azure
Windows Azure Web Services
Windows Azure Toolkit for Windows Phone
bitly
Facebook
Windows Live
SkyDrive
Summary
12. Push Notifications
Architecture
Push Notification Server
Push Notification Client
Additional Server Features
Batching Intervals
XML Payload
Response Information
Additional Client Features
Persistent Client Settings
The ErrorOccurred Event
User Opt-In/Out
Implementing a Push ViewModel
The Push Notification Server-Side Helper Library
Common Push Notification Service
Summary
13. Security
Device Security
Application Safeguards
Application Deployment
Managed Code Constraints
Chambers and Capabilities
Missing Security Features
Data Encryption
SDL Tools
Threat Modeling
Static Code Analysis/FxCop
Web Service Security
Authentication
Forms Authentication
Forms Authentication: Server Side
Forms Authentication: Client Side
Basic Authentication
SSL
Push Notification Security
OAuth 1.0
OAuth 2.0
Securing Web Service IDs
Implementing Security for the WebBrowser Control
Summary
14. Go to Market
Threading
Performance
UI vs. Render Thread, and BitmapCache Mode
UI Layout and ListBoxes
More UI Performance Tips
Non-UI Performance Tips
Silverlight Unit Testing Framework
Certification and Publication
Updates
Marketplace Reports
Beta Testing
Versions
Light-Up Features
Obfuscation
Ads
Trial Mode
Silverlight Analytics Framework
Summary
IV. Version 7.5 Enhancements
15. Multi-Tasking and Fast App Switching
Fast Application Switching
Multi-Tasking
Alarms and Reminders
Alarms
Reminders
Background Transfer Service
Generic Background Agents
Background Audio
Background Audio: The Main Application
Background Audio: The Background Agent
Summary
16. Enhanced Phone Services
Sensor APIs
Accelerometer
Compass
Gyroscope
Motion APIs
Camera Pipeline
Augmented Reality
The Geo Augmented Reality Toolkit
New Photo Extensibility
Launcher and Chooser Enhancements
The DeviceStatus and DeviceNetworkInformation classes
Version 7.1.1
Summary
17. Enhanced Connectivity Features
Push, Tile, and Toast Enhancements
Local Tiles
Pinning Tiles
Push Enhancements
Sockets
TCP Sockets
OData Client
Search Extensibility
App Connect
App Instant Answer
Summary
18. Data Support
Local Database and LINQ-to-SQL
Create and Read
Update and Delete
Schema Updates
Associations
Isolated Storage Explorer Tool
Performance Considerations
Database Encryption
Encrypting Data and Credentials
Contacts and Calendar
Sync Framework
Service Configuration
Database Provisioning
Code Generation
Summary
19. Framework Enhancements
Navigation Enhancements
Frame and Page Navigation
Backstack Management
UI Enhancements
Enhanced Controls
The ApplicationBar and SystemTray Classes, and the ProgressIndicator Property
The Clipboard API
32 Bits per Pixel
Background Image Decoding
Touch Thread
Silverlight 4.0
Implicit Styles
Command Binding
Data-Binding Enhancements
Summary
20. Tooling Enhancements
Emulator Improvements
Debugger Experience
Marketplace Test Kit
The Profiler
UserVoice Forums
Portable Library Tools
Async Framework
Summary
Index
About the Author
Copyright
← Prev
Back
Next →
← Prev
Back
Next →