Как переключаться между окнами в WPF с паттерном MVVM?
Попробуйте посмотреть здесь Ссылка
p.s.
Я сейчас сам изучаю шарп, пишу небольшую программу для работы с Компас 3Д и тоже столкнулся с реализацией открытия новых окон на MVVM, однако ради одного окна я не стал надолго уходить в изучение сервисов навигации и просто создал объект нужного окна в MainViewModel и вызвал у него ShowDialog(), а NewViewModel нового окна привязана к View через DataContext как обычно это делается.NewWindow window = new NewWindow();
window.ShowDialog();
Для обмена информацией между разными VIewModel использую классы со статическими конструкциями.
Удачи в изучении.
Прочитайте про DI и Prism.