Действительно ли мне нужно написать свой собственный NavigationService или я пропустил что-то очевидное?
MVVMLight
предоставил NavigationService
.Вам не нужно воспроизводить его.
Чтобы использовать Навигацию в MVVM Light, вам необходимо зарегистрироваться и настроить INavigationService в ViewModelLocator.cs, для этого вам нужно зарегистрировать каждую страницу с помощью PageKey.
public const string FirstPageKey = "FirstPage";
public const string SecondPageKey = "SecondPage";
var nav = new NavigationService();
nav.Configure(FirstPageKey, typeof(FirstPage));
nav.Configure(SecondPageKey, typeof(SecondPage));
Более подробно вы можете сослаться на этот блог .