Xamarin 从Shell弹出式菜单项导航到向下一级

Xamarin 从Shell弹出式菜单项导航到向下一级,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我在Shell视图中有以下结构 <FlyoutItem Route="home" Title="Home"> <ShellContent ContentTemplate="{DataTemplate views:HomePage}" /> </FlyoutItem> <FlyoutItem Route="leaverequest" Title="Leave Re

我在Shell视图中有以下结构

<FlyoutItem Route="home" Title="Home">
  <ShellContent ContentTemplate="{DataTemplate views:HomePage}" />
</FlyoutItem>
<FlyoutItem Route="leaverequest" Title="Leave Request">
  <ShellContent ContentTemplate="{DataTemplate views:LeaveRequestView}" />
</FlyoutItem>

这些项目显示正常。 当我点击请假请求项时,请假请求视图打开,顶部导航中有一个汉堡包菜单。我希望LeaveRequestView显示一个后退按钮

我尝试在ShellContent中设置Route属性,而不是在FlyoutItem中,但结果是一样的

在上面的路由定义中有什么要做的吗?或者这是要在LeaveRequestView XAML中设置的属性


PS:如果我使用Shell.Current.GoToAsync(“leaverequest”)在代码隐藏中导航,行为是正确的。我在顶部导航栏上看到了后退按钮。

不幸的是,它无法使用以下定义的XAML显示后退按钮

<FlyoutItem Route="home" Title="Home">
  <ShellContent ContentTemplate="{DataTemplate views:HomePage}" />
</FlyoutItem>
<FlyoutItem Route="leaverequest" Title="Leave Request">
  <ShellContent ContentTemplate="{DataTemplate views:LeaveRequestView}" />
</FlyoutItem>

从上面的路由定义中,我们无法使
LeaveRequestView
显示后退按钮

因为它是由Xamarin Forms Shell设计的。如果在XAML中使用
弹出项
,则表示子视图将通过亨伯格菜单进行导航

正如您所说,除非使用
Shell.Current.GoToAsync(“leaverequest”)
导航,否则将显示后退按钮。同时,您将看到汉堡包菜单不显示


注意:这应该是的典型特征。如果不需要此功能,则无需创建Shell应用程序。

谢谢您的解释。我使用MenuItem而不是FlyoutItem来实现所需的结果。@PrashantGupta很高兴您解决了这个问题!这将是一个很好的解决办法。您可以在回答中更新,如果回答有帮助,请不要忘记接受它作为答案(单击✔ 在这个答案的左上角),它将帮助其他有类似问题的人。