Начать свой пример того, что вы хотели бы сделать, это не то, как предполагается использовать MasterDetailPage.Чтобы помочь здесь, я проиллюстрирую на простом примере.MasterDetailPage никогда не должен быть заключен в NavigationPage, а скорее деталь MasterDetailPage должна быть NavigationPage с некоторой страницей, установленной в качестве содержимого.
var page = new MasterDetailPage
{
Detail = new NavigationPage(new ContentPage())
};
В Prism предположим, что у вас есть MasterDetailPage с именем MainPage,и вы зарегистрировали NavigationPage и ContentPage с именем ViewA и другим с именем ViewB.
Правильный способ создания MasterDetailPage:
_navigationService.NavigateAsync("MainPage/NavigationPage/ViewA");
Теперь, если вы хотите нажатьViewB из ViewA, например:
_navigationService.NavigateAsync("ViewB");
. Вы можете увидеть это нажатие внутри NavigationPage с навигацией, чтобы вернуться к ViewA.Теперь давайте предположим, что вы хотите, чтобы это было модальным, что вы бы просто сделали:
_navigationService.NavigateAsync("ViewB?useModalNavigation=true");