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…

Dynamic Localization in Silverlight

Localization is (and has always been) a hot topic in Silverlight. There are many ways to do it, but most solutions that I’ve seen use some variation of the technique described in the Silverlight documentation, which puts localization resources in RESXes and uses data binding to bind XAML elements to localized resources. It works, but…

Dynamic XAP Discovery with Silverlight MEF

I’ve spent copious amounts of time lately digging into Silverlight 4’s new Managed Extensibility Framework (MEF) and seem to find new uses for it every day. I love the fact that you can download a remote XAP file and import all of its exported parts with basically two lines of code: DeploymentCatalog dc = new…

Understanding Input Scope in Silverlight for Windows Phone

If you write applications for Silverlight for Windows Phone, one of the features you quickly become familiar with is the Software Input Panel, or SIP. The SIP is the virtual keyboard that appears when a text-input control such as a TextBox gets the input focus. You don’t have to do anything to make the SIP…

Understanding Page Orientation in Silverlight for Windows Phone

At MIX this year, Silverlight developers were handed a real treat: their first look at Silverlight for Windows Phone. Silverlight is the primary platform that developers will use to write applications for the new Windows phone, which will debut later this year. I can’t remember being this excited about a platform since…well, since Silverlight 1.0.…

Asynchronous Controllers in ASP.NET MVC 2

I’ve been working with version 2 of Microsoft’s ASP.NET MVC framework and have found a lot to like about it, particularly the new support for client-side validation based on data annotations. But the feature that excites me the most is support for asynchronous controllers and controller methods. Asynchronous pages have always been the secret to…

Silverlight 4’s New INavigationContentLoader Interface

One of the extensibility points added to the run-time in Silverlight 4 is the new INavigationContentLoader interface, which allows applications that use Silverlight’s navigation framework to take control of page loading. In Silverlight 3, navigation URIs had to target XAML files containing Silverlight pages. In Silverlight 4, a navigation URI can target anything—a class name,…

Silverlight 4’s New Notification Windows

Silverlight 4 includes a slew of features designed to make out-of-browser applications richer. One of those features is notification windows, also known as “toast” windows. This feature is available to all OOBs, regardless of whether they are trusted. It is not available to applications that run inside the browser. A notification window is one that…