This time i have a real treat for you. I was kind of surprised there is no really good solution for navigation in caliburn framework (or i’m unaware of one). I decided to roll my own out with the following basic features:
1. Supports deeplinking
2. Easy setup
3. IOC agnostic
The solution comes with a really simple sample application which explains how you can set it up. To have it set up on your application you need to do following things:
1. Include the Caliburn.Micro.Navigation project
2. In the AppBootstraper part, you need to add the navigation conventions (see the AppBootstrapper of the sample app)
3. Register viewmodels with navigation names
4. In the shellView, replace ContentControl with Frame control and set CaliburnContentLoader as a contentLoader
5. Have the ShellViewModel inherit from NavigationConductor instead of Conductor
And i think that’s about it. To have DeepLinking enabled, use the INavigationAware interface on the particular screen.
I think that’s it, the sample app should be self explanatory if not:).
To grab the source head on to codeplex