Tombstoning Panorama Controls in Silverlight for Windows Phone

Earlier, I posted  a short article documenting a bug in Silverlight for Windows Phone’s Pivot control and demonstrating how to work around it to properly tombstone a Pivot control. Since the Pivot and Panorama controls are twin sons of different mothers, you may wonder: does the Panorama control suffer the same flaw? Well, there’s good…

Tombstoning Pivot Controls in Silverlight for Windows Phone

If you’re a Windows phone developer, you’ve figured out by now that tombstoning is an essential part of the application lifecycle, and that every application must be architected with tombstoning in mind. What is tombstoning? In short, while Windows phones are perfectly capable of running several applications at once, only OEMs can write apps that…

Silverlight for Windows Phone Programming Tip #2

Phone developers sometimes bemoan the fact that Silverlight for Windows Phone lacks syndication classes such as SyndicationFeed and SyndicationItem. In the desktop versions of Silverlight, these classes simplify the task of consuming RSS feeds, as well as other types of feeds such as ATOM. It’s a well-documented fact that you can work around this by…

Using the Location Service in Silverlight for Windows Phone

One of the most exciting features of the Windows phone from a developer’s perspective is the location service. The location service is a set of APIs that rely on Assisted-GPS (A-GPS), Wi-Fi Positioning System (WPS), and cell-site triangulation to expose location data to an application. Simply put, this means that a Windows phone app can…

Using the Accelerometer in Silverlight for Windows Phone

One of the sensor devices present in every Windows phone is an accelerometer that provides real-time acceleration data in the X, Y, and Z directions. Applications can use that data to determine a phone’s 3D spatial orientation, and to detect changes in that orientation. Under the hood, Silverlight for Windows Phone uses the accelerometer to…

Building Touch Interfaces for Windows Phones, Part 4

The first three articles in this series presented three different ways to respond to touch input in Windows phone apps: mouse events, Touch.FrameReported events, and manipulation events. In this, the fourth and final installment, we’ll discuss a means for processing touch input that trumps all three – namely, the GestureListener class in the Silverlight for…

Building Touch Interfaces for Windows Phones, Part 3

In Part 1 and Part 2 of this series, I described how to build touch interfaces for phone apps using mouse events and Touch.FrameReported events. Part 3 presents yet another way to respond to touch input: manipulation events. Manipulation events originated in WPF, and they’re substantially richer in WPF than in Silverlight for Windows Phone.…

Building Touch Interfaces for Windows Phones, Part 2

In Part 1 of this series, I described how to build simple touch interfaces for phone apps by processing mouse events. Recall that primary touch events – events involving the first finger to touch the screen – are automatically promoted to mouse events by the run-time, and that you can build a UI  that responds…

Building Touch Interfaces for Windows Phones, Part 1

One of the key hurdles that developers face when transitioning from Silverlight to Silverlight for Windows Phone is learning how to build touch interfaces. While the desktop versions of Silverlight do support low-level touch events, the vast majority of desktop applications eschew touch input and rely heavily on mouse input instead. Building great touch interfaces…

Windows Phone Won’t Connect? Try This

Lately my Samsung Focus has been giving me a lot of trouble. Specifically, when I connect it to my PC, the Zune client reports that it’s not connected. This means I can’t sync the phone. Worse, I can’t load apps onto it from Visual Studio for testing. After scouring the Web for solutions, I came…

Hello, Windows Phone

I have managed to acquire a preproduction version of the new Windows phone manufactured by LG, and have been given permission to write about it (most of it, anyway). In coming weeks, I’ll be blogging about the phone and providing key insights for developers looking to build apps for it with Silverlight. I’ll start with…

Dynamic Page Loading in Silverlight

A while back, I blogged about the INavigationContentLoader interface introduced in Silverlight 4. INavigationContentLoader is an extensibility point in Silverlight’s navigation framework that lets you provide your own plug-in for loading pages. Silverlight 4 comes with one INavigationContentLoader implementation in a class named PageResourceContentLoader, which loads pages from assemblies in an application’s XAP file. I…