Windows Phone 7 Jump Start Training

There are 12 sessions in total, each about :50 minutes in length. 

Windows Phone 7 Jump Start (Session 1 of 12): Introduction

Windows Phone 7 Jump Start (Session 2 of 12): Building a Silverlight Application, Part 1

Windows Phone 7 Jump Start (Session 3 of 12): Building a Silverlight Application, Part 2

Windows Phone 7 Jump Start (Session 4 of 12): Building Games for the Windows Phone 7 Platform

Windows Phone 7 Jump Start (Session 5 of 12): Building XNA Games for the Windows Phone 7 Platform, Part 1

Windows Phone 7 Jump Start (Session 6 of 12): Building XNA Games for the Windows Phone 7 Platform, Part 2

Windows Phone 7 Jump Start (Session 7 of 12): Advanced Application Development, Part 1

Windows Phone 7 Jump Start (Session 8 of 12): Advanced Application Development, Part 2

Windows Phone 7 Jump Start (Session 9 of 12): Advanced Application Development, Part 3

Windows Phone 7 Jump Start (Session 10 of 12): Marketing Your Windows Phone 7 Application

Windows Phone 7 Jump Start (Session 11 of 12): Working with Media

Windows Phone 7 Jump Start (Session 12 of 12): Final Silverlight Topics and Wrap-Up


Read more goto Windows Phone Developer Blog

How to avoid ‘Not Found’ Error when making WCF Service Calls in Silverlight

Have you seen this error message before?  “The remote server returned an error: NotFound.”, Not particularly helpful! This is your Silverlight app’s way of telling you that there was an exception during a WCF Service call. You can fix this with a little WCF server-side magic.  The magic is described in the Silverlight documentation in an entry called Creating and Handling Faults in Silverlight

Here’s the condensed version of the answer.  It all comes down to making your WCF service return a 200 HTTP Status code instead of the default of 400 or 500.  The modification on the server can be made by defining a WCF endpoint behavior for Silverlight faults by implementing the following:

public class SilverlightFaultBehavior : BehaviorExtensionElement, IEndpointBehavior
The above WCF endpoint behavior needs to be configured for in the WCF web.config
        <add name=”silverlightFaults” 
          <behavior name=”SilverlightFaultBehavior”>
        <service name=”Calculator.Web.Service”>
            <endpoint address=”” 
                      behaviorConfiguration=”SilverlightFaultBehavior” />


Here is a little sample application.


Click here to download the source code.

Via How to Permanently Banish Silverlight’s “Not Found” Error for WCF Service Calls

Silverlight Button Template




A very nice Silverlight 3 Glossy Button Style with 6 different color themes. Ready to use in your solutions. Licensed under Creative Commons. As always: Pure XAML built with Microsoft Expression Blend 3.



download from here


Parallel Framework in Action



The #1 reason, IMHO, to look at .NET 4 is the parallelism. I say this not as a Microsoft Shill, but rather as a dude who owns a 6-core (12 with hyper-threading) processor. My most favorite app in the Training Kit is ContosoAutomotive. It’s a little WPF app that loads a few hundred thousand cars into a grid. There’s an interface, ICarQuery, that a bunch of plugins implement, and the app foreach’s over the CarQueries.

This snippet here uses the new System.Threading.Task stuff and makes a background task. That’s all one line there, from StartNew() all the way to the bottom. It says, "do this chunk in the background." and it’s a wonderfully natural and fluent interface. It also keeps your UI thread painting so your app doesn’t freeze up with that "curtain of not responding" that one sees all the time.

This code says "go do this in a background thread, and while you’re there, parallelize this as you like." This loop is "embarrassingly parallel." It’s a big for loop over 2 million cars in memory.


For more goto Scott Hanselman – The Weekly Source Code 56 – Visual Studio 2010 and .NET Framework 4 Training Kit – Code Contracts, Parallel Framework and COM Interop

String Format Extension in XAML Binding in Silverlight 4

In Silverlight 4, an extension property called StringFormat is added to display formatting display. There are some predefined formats available. In this article we will see some of them.


Date Formatting: pre-defined like above: StringFormat=\{0:d\}, custom: StringFormat=‘MM-dd-yyyy’

Currency Formatting: String.Format=\{0:c\} or just String.Format=C

Percent Formatting: String.Format=\{0:p\} or String.Format=P or single decimal point String.Format=0.0%

Number Formatting:


pre-defined like above: StringFormat=\{0:N\}, or custom: StringFormat=0\,000.0

for more via String Format Extension in XAML Binding in Silverlight 4

Simple Silverlight PopUp Behavior for VM



This article will show you how to use my PopUp Behavior that will launch a simple Yes/No Popup and explain how it works so you will be able to tune it to your needs. This PopUp should make creating PopUps in MVVM / VM style easier by generating the PopUp for you which will save you the time of creating a View and View Model for a Popup, remove the need for complexity shown by other solutions that uses messaging / services and so forth. This also allows designers to have some control to create PopUps without waiting for the programmers to make a View and VM for them.

What HisowaSimplePopUpBehavior Do

This is the PopUp that it generates, but you can customize by modding the code or by properties on behavior.

Link to: Live Application Example

Fore more goto

Getting the Silverlight Toolkit Controls to work on WP7

 image image


As we get closer to the launch of WP7 (Windows Phone 7) more and more developers are starting to play around with the SDK and build out applications.  Since WP7 supports Silverlight 3+ (3+ means it is basically Silverlight 3 w/ some tweaks to work in a multi-touch environment) it is logical to think that you should be able to use the Silverlight Control Toolkit for Silverlight 3.

However if you simply take the binaries from the source on codeplex and try to use them with say the expander control you are going to get runtime errors.

How to fix this, follow this link