As mentioned in my previous blog post I am developing a Windows Store application using Caliburn Micro (CM) in which I have the views and view models split into different assemblies. CM is largely convention based and therefore expect things is certain places. One of these conventions is the way in which CM locates views and view models. Let’s say that we have an application with a root namespace of MyApplication and our views are located in the namespace MyApplication.
I was recently dumbfounded by an apparent issue with Caliburn Micro in a Windows Store application being unable to locate the view model for a view. The symptoms was that the application navigated correctly to my view, but the data from the view model was not being displayed on the page. What complicated matters a bit more was that my views and view models were located in different assemblies and non-default namespaces, therefore I immediately suspected the problem was located there.
I have been working with Caliburn Micro (CM) for the past month, using it in a new Windows 8 application I am busy developing. CM is largely convention based but it does allow you to override and customize a lot of those conventions as well as provide other points of extensibility. The initial solution I recently had a scenario where I had a ListView displaying the a list of items.