Вот ссылка о навигации с masterDetailpage
В вашем App.cs у вас будет что-то похожее на этот код (извините, если он не компилируется, я кодирую это от головы до головы).
public static NavigationPage NavPage = null;
public App()
{
var _navPage = new NavigationPage(new PageOne());
var _masterPage = new MasterDetailpage();
_masterPage.Detail = NavPage;
_masterPage.Master = (your master / menu page);
MainPage = _masterPage;
}
Тогда в вашем коде вы можете сослаться на
await App.NavPage.PushAsync(new PageTwo());
Это дает вам функциональность. Однако вы не хотите получать доступ к NavigationPage таким способом. Вы можете использовать DependencyInjection для создания NavigationService.
Что-то вроде
public class NavigationService: INavigationService
{
public NavigationService(NavigationPage navPage)
{
// Keep local copy of navPage
}
public async Task NavigateTo(Page page)
{
await _navPage.PushAsync(page);
}
public async Task GoBack()
{
await _navPage.PopAsync();
}
}
Вы должны использовать этот шаблон для навигации.