我终于找到了(因为PushAsync((不能全局工作(如何从MasterDetailPage导航到下一页,如下所示:
Application.Current.MainPage = new NavigationPage(new Screen_Profile());
这会打开一个新页面,但我无法返回到上一页,但这是在重置导航堆栈。
如何导航离开,但仍然可以选择返回MasterDetail页面导航?
您可以尝试使用
Navigation.PushAsync(new Screen_Profile());
尝试阅读此链接上的更多内容https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/navigation/hierarchical
以下是有关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();
}
}
您应该像这样使用Pattern进行导航。