«Навигация» немного расплывчата, но когда у меня есть «экранное» приложение с содержимым, размещенным в определенном разделе большого окна (с, скажем, кнопочными навигационными элементами управления и состоянием, окружающим область содержимого), я как при использовании MainViewModel, со свойством ActiveScreen типа Object и ContentPresenter, привязанным к ActiveScreen. Я определю DataTemplates, которые связывают различные экземпляры ViewModel с соответствующим элементом управления View и просто создают экземпляры или выбирают из разных ViewModel для ActiveScreen. Система привязки заботится о фактическом создании экземпляров View.