На данный момент я создал событие для каждого раза, когда я хочу поменять свою страницу сведений и вызвать событие из MyMenuPageVM, например, так: OnPageChanges?.Invoke("Page1");
Затем я подписываюсь на событие на моей виртуальной машине MasterDetailPage, чтобы обработать обмен страниц сведений.
В MyMenuPageVM (главная страница):
public delegate void MyEventHandler(string page);
public static event MyEventHandler OnPageChanges;
Подписаться на событие в MasterDetailPageVM и обработчик.
public void OnNavigatedTo(INavigationParameters parameters)
{
MyMenuPageViewModel.OnPageChanges += this.ChangePage;
}
public async void ChangePage(string page)
{
switch (page)
{
case "Page1":
await this.navigationService.NavigateAsync("Page1");
break;
case "Page2":
await this.navigationService.NavigateAsync("Page2");
break;
}
}
Не уверен, что это правильно, но это работает , :)