The last week has been very exciting for Microsoft developers: The //build/ conference in Redmond was full of amazing content including Windows 8, Windows Phone 8 SDK, Microsoft Surface, Xbox SmartGlass, Kinect for Windows and the new language TypeScript.
Unfortunately I hadn’t the possibility to participate at the conference but had some free time during the week-end to watch some of the recorded sessions available here on Channel9: this is really a great resource and I suggest everyone interested in Microsoft technologies to download some videos and have fun with it.
I decided then to take a look at the new features available in Windows Phone 8 and the related SDK: Justin Angel has a great article about this topic in the Nokia Developer Community.
To get my hands dirty I moved then on my personal Open-Source project “Multi-Touch Behaviors” on CodePlex: this is a set of Epression Blend Behaviors for different platforms including Windows Phone, Silverlight and WPF for applying gestures and manipulations (like the one available in the “old” ScatterView control) to generic XAML elements.
The project was not yet updated to Windows Phone 8 so I took this opportunity and experimented with the new SDK: this was really a great experience since I was able to upgrade quickly all my samples to the new platform using the same codebase used for the Silverlight version.
Unfortunately I haven’t the possibility to test the performance on a real Windows Phone 8 device at the moment but the first impressions are really positive.
I have already checked in the code for WP8 here, I’m planning more testing and development in the future.
Happy XAMLing everyone
As announced on the Windows Phone Developer Blog, Windows Phone SDK 7.1.1 Update is now available for download on the Microsoft Download Center.
The WPSDK 7.1.1 Update provides a WPSDK patch that enables developers to develop and test for the recently announced Windows Phone 7.5 256 MB devices, as well to run the WPSDK 7.1 on the Windows 8 Consumer Preview release via the following:
- Updated 512 MB OS Emulator Image: An updated build Windows Phone OS 7.1 (Build 8773)
- New 256 MB OS Emulator Image: A new Windows Phone OS 7.1 emulator image (Build 8773) that emulates running on 256 MB devices
- Emulator Choice: Ability to debug or run your WP apps in either the 256 MB or 512 MB emulator
- Windows 8 Support: An updated emulator is included, which can run on Windows 8
- IntelliSense support for adding the new 512 MB requirement to the Windows Phone App Manifest file
News since the CTP release last month:
- ‘Go Live’ license: The update now has a ‘Go Live’ license; developers running WPSDK 7.1.1 are now empowered to publish their Windows Phone apps to the Windows Phone Marketplace
- Full Localization: WPSDK now supports all 10 IDE languages; and the OS image now has Malay and Indonesian
- Windows 8 Support: The updated emulator will now run on Windows 8; note that the OS is still not officially supported by developer support until the final OS release
Windows Phone SDK 7.1.1 Update CTP Download Center page
For additional information on this release, please refer the post on the WP Developer Blog.
Fellow MVP Daniel Vaughan has published in these days on CodePlex a new version of his “Calcium” framework targeting Windows Phone.
From the official release notes:
“Calcium for Windows Phone is a consolidation of the infrastructure code that has been written for the book Windows Phone 7.5 Unleashed, and is already used by a number of published apps.
Some of Calcium for Windows Phone features include:
- A user option’s system that allows you to add a settable option to an options page, with a single line of code.
- A bindable application bar with toggle buttons and menu items, hyperlink button/menu items, which allows you to host multiple application bars in a Pivot.
- Built-in support for localization. Bindable resources allows the user to change the interface language at run-time.
- An IoC container and DI infrastructure, and templates to allow you to hide or show a Purchase link in your app depending on the • Trial state of your app and so forth.
- Templates for Views with ViewModels.
- Attribute based state persistence system.
- Message service that allows you to display messages and ask the user questions from your ViewModel.
- Launchers and Choosers abstraction layer.
- Input Validation system, with styles customized for displaying validation errors.
And much more!
Unlike Calcium for WPF and Silverlight, Calcium for Windows Phone does not depend on Prism and has a smaller footprint, more suitable for the mobile platform.”
Other useful resources:
Fortify your apps with Calcium for Windows Phone!
Prism provides guidance designed to help you more easily design and build rich, flexible, and easy to maintain Windows Presentation Foundation (WPF) desktop applications and Silverlight Rich Internet Applications (RIAs) and Windows Phone 7.1 (“Mango”) applications.
The new version 4.1 released on February 2012 is available for download here.
Read the official announcement by Blaine Wastell: Prism for Silverlight 5 Ships.
A new project has been recently announced in the “Silverlight Experts” group on Linkedin by fellow group-member Laith Alasad:
The XAML Project contains “Free vector design resources for XAML-based technologies such as Silverlight, Metro, WP7, and WPF. Search and download pure XAML graphics for your web, desktop, and/or mobile applications.“
It’s a very useful resource, I’ve already inserted it in my favorites!
Happy XAMLing everyone
I’ve just published on CodePlex and the Expression gallery a new release of the Multi-Touch behaviors including these new features:
- support for Windows Phone 7.1 Beta 2 (refresh) “Mango”;
- added new property “IgnoredTypes” for excluding particular control types from the manipulations (thanks to Richie for the suggestions, feedback and code samples);
- the “Manipulation Processor” and “Inertia Processor” are now exposed by the behavior in order to enable personalized manipulations and gestures;
- new properties: CenterX, CenterY, Rotation, Scale permit to support custom gestures like “DoupleTap” zoom;
- Silverlight 4 and Windows Phone 7.1 samples updated with a simple ”DoubleTap” zoom example using the new exposed properties.
The source code and samples are available for download here.
In these days I’m receiving several questions in the Multi-Touch Behaviors forums about enabling Multi-Touch manipulations in Windows Phone applications composed by more than one page.
Today I’ve modified the available sample inserting an additional page containing an image enabled for translation, rotation, zoom and inertia via the usual “MultiTouchBehavior“:
Starting from release 0.6.1 it’s now possible to use the Behavior in different pages of the application, in this way enabling multi-touch in different elements of a Windows Phone 7 application:
As usually the sample code is available for download on http://multitouch.codeplex.com, check out the Visual Studio solution “SilverlightWP7MultiTouch.sln” which contains all necessary libraries.
I’ve received several requests about the modalities of enabling multi-touch on a UI element using the Behavior available on my CodePlex project.
The traditional syntax using XAML is here:
<Image Source="Images/Desert.jpg" x:Name="image1">
What about if you want to achieve the same result using C#? Just obtain a collection of behaviors for your element and then add/remove the MultiTouchBehavior using the following syntax:
private void btnAttach_Click(object sender, RoutedEventArgs e)
var behaviors =
var mtb = new MultiTouchBehavior
IsRotateEnabled = true,
IsScaleEnabled = true,
IsTranslateXEnabled = true,
IsInertiaEnabled = true,
AreFingersVisible = true,
MinimumScale = 20,
MaximumScale = 200
mtb.Move(new Point(200, 150), 45, 100);
private void btnDetach_Click(object sender, RoutedEventArgs e)
var behaviors =
if (behaviors.Count > 0)
As usually the source code is available for download on the Multi-Touch CodePlex project (check out the SilverlightWP7MultiTouch Solution).
Oh, did I already say that it also works on Windows Phone 7?
Some useful links:
Happy Silverlighting with Windows Phone!
Check out this great sample available in the XNA community site.
It includes code that uses the Gestures API to enable hold, drag, tap, flick, pinch gestures.