Basically, I'm using "View-first" style of MVVM hookup - meaning that the view instantiates the viewmodel (well, it grabs it from the service locator which uses a unity container to resolve it but whatever). This works pretty well most of the time - the Navigation framework paradigm seems to work best with the view-first approach, as the querystring is mapped to a view.
Under some conditions I would like a page to recreate itself on navigation, meaning that I'd like it to be cleared out of the cache. I haven't yet found a good way to do this.
Something I'm considering is to have the Page listening for a suitable event and set its NavigationCacheMode to "disabled", but I'd rather be able to define this behavior in a central location - like my application controller.