小编Ant*_*tin的帖子

如何导航到具有 Shell 弹出菜单的新页面?

我需要导航到一个页面,该页面将有 shell 弹出菜单,但我不需要它作为菜单中的项目出现。

我尝试过路由页面

Routing.RegisterRoute("cart", typeof(Cart));
Run Code Online (Sandbox Code Playgroud)

然后使用

Shell.Current.GoToAsync("///cart");
Run Code Online (Sandbox Code Playgroud)

但它抛出一个错误,告诉我堆栈中唯一的页面。微软文档没有帮助。

全局路由当前不能是堆栈上的唯一页面,因此不支持到全局路由的绝对路由。现在,只需导航至:cart/

当我尝试时

Shell.Current.Navigation.PushAsync(new NavigationPage(new Cart()));
Run Code Online (Sandbox Code Playgroud)

它有效,但顶部栏是默认颜色并且菜单按钮不存在。另外,我尝试将购物车作为新页面推送,没有new NavigationPage(),顶栏没有变化,但菜单按钮充当后退按钮,即使我设置了行为

<Shell.BackButtonBehavior>
        <BackButtonBehavior IconOverride="back.png"/>
</Shell.BackButtonBehavior>
Run Code Online (Sandbox Code Playgroud)

xamarin xamarin.forms xamarin.forms.shell

1
推荐指数
1
解决办法
8539
查看次数