Caliburn Micro for WinRT – MVVM Magic Pixie Dust for everyone

Posted by: | Technical |

When something you love goes away, you find it hard to live without it. You can’t stop thinking about it, nothing else comes close.

And so it was with Caliburn Micro. Our much loved convention-based magic pixie fairy dust MVVM framework of choice wasn’t fully usable on WinRT, and only just did the basics of what we were used to on Windows Phone.

So, we’ve forked and ported Caliburn Micro to WinRT!

Over the past week we’ve had some time to port the latest version of this great library to WinRT as well as include some extension points into the functionality of Windows 8 such as the Sharing and Settings charms. So today we’re proud to announce the experimental release of our port.  We’re still testing all the functionality (there’s a lot) but the basics of conventional binding for properties and actions are all working well.  These include:

  • Property Binding conventions
  • Method Binding conventions
  • Coroutines
  • Screens and Conductors
  • Navigation including Parameter injection
  • Windows 8 Share charm integration
  • Windows 8 Search charm integration

We’ve also included a sample app we’ve been using for testing and for showing off some of the Windows 8 functionality. Over the next few weeks we’ll be adding more samples, polishing the ones that are there and adding more functionality as some parts definitely need more work.

For the Caliburn Micro experts we’ve tried really hard not to deviate too much from what you already know but we’ve had too in some places. One was the removal of the Bootstrapper in favour of a “Caliburn Application” much like the original Caliburn did, this was because a WinRT Application exposes most of its functionality through virtual methods rather than events.

We need to credit some other people, a huge thanks to Johan Laanstra who ported the System.Windows.Interactivity functionality to WinRT in his Windows.UI.Interactivity library. These really are the linchpin of Caliburn’s Actions are the work would have taken a lot longer without his work. We’re also incorporating the UI library Callisto from Tim Heuer for things like the Settings Flyout control.

So go ahead and check it out on Codeplex.

6 Responses to Caliburn Micro for WinRT – MVVM Magic Pixie Dust for everyone

  1. Rob Eisenberg says:

    Awesome work! I’m traveling for a couple weeks. As soon as I get back, let’s talk further about getting this merged into the official repository. Can you go ahead and send me a pull request? I might even get a chance to start reviewing it during the next week when I get some off time. Thanks again!

    • keith.p says:

      Thanks Rob. Definitely, I’ll get Nigel to sort this out, we’d love to see any elements of what we’ve done it back in the official build, will keep you posted.

  2. Derek says:

    I move and am offline for a week and miss all this :) This is great news to come back to, great work!