Is anyone using an MVVM framework with ArcGIS Desktop add-ins or the ArcGIS Runtime for WPF?

I am leaning towards Caliburn.Micro simply because it seems to be the most popular "lightweight" MVVM framework, but I was wondering if anyone had any experience with it or others (or if they are using none at all) before diving in.

My main requirements would be that it work with Visual C# 2008 Express, allow for targeting .NET 3.5 (and easily transition to .NET 4.0), allow for WPF Windows to be created, displayed as a well-behaved modal child dialog, and destroyed inside the ArcGIS Desktop applications, and provide logging, file open/save dialog, and message box services.

Looking for light-weight, minimal dependencies, promotes best design practices, etc. Everything else would be pretty much icing on the cake.

Or does everyone use Windows Forms still? :)

  • 1
    +1 Also please vote for Implement INotifyPropertyChanged in ArcObjects idea at Esri. – Kirk Kuykendall Feb 19 '13 at 17:44
  • Pretty sure I have voted for that one at least twice now :) – blah238 Feb 19 '13 at 22:56
  • 1
    Caliburn.Micro is great, it has all the features you need while being pretty lightweight. It is more suitable for scenarios where you have the whole WPF app under full control (as opposed to ArcGIS add-ins), which means you can take advantage of all its capabilities, including dependency injection etc a bit better. It also leans slightly towards viewmodel-first approach (while I prefer view-first), but I still believe there is no reason to look for other framework. That's my two cents anyway. – Petr Krebs Feb 19 '13 at 23:30
  • Thanks for the great feedback Petr. I have gone through a couple of Caliburn.Micro "Hello World" tutorials and successfully built a standalone WPF MVVM application with Caliburn.Micro 1.1 on .NET 3.5 with VC# 2008 Express using some pre-built binaries from this page. That's like 3/4s of the battle. :) Hopefully I am not missing too much by using such an old version. Next step is working this into an ArcMap add-in. I presume I don't need to mess with the Bootstrapper since there is no "default" viewmodel in that scenario. – blah238 Feb 20 '13 at 23:55
  • 1
    I have used MVVMLight in a WPF Runtime application and thought it added just enough to be useful without getting in the way with features. Good Blend support and the messaging framework would be the two features I liked best, but I have no experience with other frameworks. – Daniel R Feb 27 '13 at 21:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.