首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用模板10汉堡模板的层次导航

使用模板10汉堡模板的层次导航
EN

Stack Overflow用户
提问于 2016-08-24 10:57:54
回答 2查看 483关注 0票数 0

我试图找出如何处理UWP应用程序中的页面层次结构,使用模板10汉堡模板。最后,我希望能够在汉堡菜单项上选择应用程序的主要部分,并有一些选项卡选择来浏览各部分的视图和子视图,根据当前的上下文更改可用的选项卡。

应用程序的部分相当复杂,应该也可以导航,例如,我应该能够使用后退按钮导航到下一个更高的层次,所以我认为选项卡导航必须基于框架导航。

当我浏览该部分的页面和子页面时,如何管理我当前所在区域的汉堡菜单项的选择?除了使用HamburgerButtonInfo的PageType属性(它将项的选择状态绑定到当前显示的页面)之外,还有其他选择吗?

一些需要解释的图片:1

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-31 11:39:56

为了在“子页面”突出显示汉堡包菜单项,您可以执行以下操作:

  1. 在Shell类中创建一个方法,用于选择要在代码中选择的按钮。在它中,只需将选定的HamburgerMenu设置为所需的HamburgerButtonInfo实例。为了避免导航到相应的页面,必须将PageType设置为“null”。 公共静态HamburgerButtonInfo AButton => Instance.MyButton;公共无效HighlightButton(HamburgerButtonInfo按钮){ pageType = button.PageType;button.PageType = null;HamburgerMenu.Selected =按钮;button.PageType = pageType;}
  2. 在页面的OnNavigatedTo中,通过Shell.Instance调用该方法。 保护覆盖无效Shell.Instance.HighlightButton(Shell.AButton);OnNavigatedTo(NavigationEventArgs e) {NavigationEventArgs base.OnNavigatedTo(e);}
票数 1
EN

Stack Overflow用户

发布于 2016-08-30 07:23:41

使用Template 10导航系统,您可以向页面传递参数,然后打开正确的选项卡(如Hamburger模板中的“设置”页面所示)。

但是,当用户更改选项卡时,它仍然是相同的页面,您无法控制后退按钮的行为,因为更改枢轴不会进入堆栈(如果您跟踪SelectionChanged事件,可能有办法强制执行它,但我不确定)。目前,如果您在第2级,则无法操作BackRequest和手动操作堆栈,因为有一个错误使得它只能使用硬件按钮(在手机和鼠标后退按钮上,它无法单击屏幕上的按钮)。

您总是可以这样做:0级打开一个页面,这些1级页面可以包含到级别2的链接,作为一个不同的页面。

我认为实现它的最好方法是创建一个自定义控件,该控件从1级开始显示当前树。a根据您的示例,它是页面的第一行,显示“菜单项1”和“菜单项1>第1页项X的详细信息”。您可以将该控件放置在每个页面上,这是可选的,因为即使没有该解决方案,该解决方案也能工作。

在第1级页面上,您可以导航到第2级页面;它将被添加到堆栈中,然后当用户点击" back“时,它将返回到父页面。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39121421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档