Microsoft さんの patterns & practices チームの作ってる XAML 系 platform の開発を行うための Prism という MVVM なライブラリがあります。*1
WinRT から Xamarin を使ってマルチプラットフォーム展開。夢が広がりますね。
2014/8/22 に Apache 2.0 ライセンスに変更され、Xamarin でも使用できるようになりました! ちょっと調べてみたところ道が遠そうな感じでしたので、エントリーとして残しておきます。
Store アプリ用と WPF/Sliverlight 用があるようですね。
Prism for WinRT については
@shosuz さんの http://www.slideshare.net/shosuz/windows-81-32601780
@okazuki さんの http://www.slideshare.net/okazuki0130/prism-for-windows-runtime-23964695
が参考になるかと思います。
WPF/Sliverlight 用の Prism 5.0/4.1 については
よりMVVMに、よりライトにPrism 5がリリースされました - かずきのBlog@hatena
Prism を使用し 1 つのコード ベースで WPF アプリケーションと Silverlight アプリケーションを構築する
などが参考になるかと思います。
また、こんなエントリーを見つけました。
Prism を MVPVM 化する(1)ViewModel と Model を Portable Class Library プロジェクトに配置する - しっぽを追いかけて
なかなか面白そうですね。
なので、ここら辺をごにょごにょすると Xamarin でも上手く使えるかもしれません。
ということで WPF にも対応した MVVM ライブラリとして、MvvmCross と Prism を検討できるようになりそうです。
最後にライセンスの問題が出てきました。
Prism for WinRT の NuGet パッケージ
NuGet Gallery | Prism.StoreApps 1.1.0
のライセンスですが
patterns & practices: Prism for the Windows Runtime - License
なんと MICROSOFT PATTERNS & PRACTICES LICENSE というライセンスで、MS-LPL を元にしたヤツみたいです。
(F) Platform Limitation - The licenses granted in section 2(A) extend only to the software or permitted derivative works that you create that run directly on a Microsoft Windows operating system product, Microsoft run-time technology (such as the .NET Framework or Silverlight), or Microsoft application platform (such as Microsoft Office or Microsoft Dynamics).
Windows でしか動かせないやつ!
これは恐らくあれですね。PCL が Xamarin 対応する時にぶつかった問題と一緒ですね。
*1:@okazuki さんのスライドより拝借