Community, SDDN, Silverlight

SDDN Tonight in Sydney

From Chris Anderson

“Just a reminder that the Sydney SDDN meeting is tonight at 6pm (for 6:30). If you haven’t done so, please register on the Facebook event here: SDDN Sydney on Facebook so we can order enough pizza. I’ll give a bit of a rundown of the outcomes from MIX10, and Jose will talk about developing for Windows Phone 7 (or the Zune Phone as I prefer to call it).

Oh, and bring your external HD / USB keys / laptops / (trying to think of something suitably silly for this entry, but got nothing at this time of night), as thanks to Justin King who consumed great slabs of bandwidth to download all the MIX10 videos (16GB worth apparently, so come prepared) will have them all available for download off an external HD. If Justin doesn’t make it then we have a backup of Ewen Wallace (aka @CADbloke) who has already grabbed them from Justin and will also bring them on an external HD. There is a ton of great content there, and is is your best chance to get them if you haven’t got them already and want to reserve your bandwidth for other potentially less reputable purposes.

And hey, if none of that got your attention, there’s free pizza! See you then!

Chris Anderson
Resident Sydney SDDN Rambler”


I’m a Silverlight MVP!

The other day I recieved an amazing New Year’s surprise in my email! I dicovered that I have been awarded Microsoft MVP in Silverlight for the 2010 year!

I am extremely honored to be recognised and included in this amazing group of people and send a massive thanks for all my supporters over the last couple of years – you know who you are!

Once again thanks to everyone and a wonderful 2010 to everyone!



P.S. for more information on MVP and what it is, have a look here.


New AnimationChainer – fluent Storyboard helper for Silverlight

A while ago I posted an article on a little animation helper class which makes it quick and easy to build animations dynamically in code. You can see my articles here and here and here.

I use this animation chainer a fair bit in my apps so I thought I’d share the improvements here.

Firstly, the system has been greatly simplified – I’ve cut a lot of superfluous junk out.

It now supports Stop, Pause and Resume 🙂

It takes a framework element in the constructor of the AnimationChainManager. This is to get around the problem where animations would appear jumpy (and sometimes not at all!).

It supports animation easing.

It supports callbacks using lambdas to make it very easy to calculate your next dynamic animation.

<Sample Code>

New AnimationChainer – fluent Storyboard helper for Silverlight Demo

</Sample Code>

Hope you enjoy!

Merry Christmas,


RIA Services, Silverlight

Upgrading from .NET RIA Services to WCF RIA Services

I just had to go through the process of upgrading an app built with the RIA Services CTP code from a few months ago to the new WCF Ria Services beta that was released at PDC.

After the upgrade I was presented with a billion errors – I had one of those “OMG I wish I didn’t just do that” moments… but after some hunting around I found that the changes were not too bad.

Here is my report on what I did to get my project working.

In web project

I had a custom object being exposed via RIA Services, which meant I had to have a [Key] attribute on one of the properties. System.ComponentModel.DataAnnotations has been upgraded, but the reference in your project will have required specific version set. So remove the missing DLL and re-add it. Use the version.

System.Web.DomainServices.Providers has been split in to two files – System.Web.DomainServices.LinqToSql and System.Web.DomainServices.EntityFramework. I’m using LinqToSqlClasses in my project, so I added the Linq version (and removed the old reference).

You’ll also have to update the name spaces in your DomainServices – Change “using System.Web.DomainServices.Linq;” to “using System.Web.DomainServices.Providers;”.

ServiceOperation has changed to Invoke.
Please note that it seems that in the VS2010 version of WCF Ria Services you can return entities from Invoke operations but not in the VS2008 version. Keep this in mind when you are designing your domain services – although you probably should use normal non Invoke style methods to return entities.

Also in your domain services on the server, “this.Context” has been changed to “this.DataContext”.

I had an enum that was exposed by a ServiceOperation (now Invoke) and it wasn’t being properly pushed out the client code. This appears to have been fixed, so I removed the .shared part of the file name to fix (it was doubling up on the client and getting a compiler error).

Silverlight Client

SubmitOperation is now in System.Windows.Ria namespace, not System.Windows.Ria.Data

If you are using RiaContext to get login information etc, then you’ll have to change RiaContextBase to WebContextBase.

IEditableCollection is gone… I use PagedCollectionViews mostly anyway (which use IEditableCollectionView) – IEditableCollection was in the SL3 Beta (but removed for RTW), and seemed to be included *again* in the older RIA Services stuff – but it’s gone again 🙂

ServiceContract() (which is in the auto generated files on the client) is now in System.ServiceModel.dll (so add it as a reference).

MergeOption has been changed to LoadBehavior with new options – KeepCurrent, MergeIntoCurrent and RefreshCurrent (much nicer!)

That’s all I had to do to get the app compiling, but at runtime I had a few problems with the RIA services requests getting 404. I fixed this by adding a temp domain service to the app – which updated the Web.Config for me…

It Added the following httpModule:

<add name="DomainServiceModule" type="System.Web.Ria.Services.DomainServiceHttpModule, System.Web.Ria, Version=, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

It Added the following module:

<add name="DomainServiceModule" preCondition="managedHandler"
    type="System.Web.Ria.Services.DomainServiceHttpModule, System.Web.Ria, Version=, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

It also added some WCF stuff right down the bottom of the file:

  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

Hope this helps you upgrade your projects!

SDDN, Silverlight

New SDDN Site Live

The new Silverlight Designer and Developer Network site is live!

The site has information on upcoming meetings, any follow up code links from the presenters as well as general Silverlight community information.

It will also contain video of the events where possible – once we figure out some hosting (damn you Silverlight Live Streaming biting the bullet!).

The best part about the new site is that it now has RSS!! A long time coming I know – but go add it to your readers 🙂

Check it out at