我正在创建一个具有启动按钮的应用程序,该按钮可以让您从应用程序中的任何位置进入启动页面。
然而,当我只是导航到起始页时,向后导航堆栈会很痛苦。
在寻找解决方案时,我找到了NonLinearNavigationService。问题是下载链接的目标是应用程序中心,它(现在,因为我们有了新的更好的应用程序中心)将我重定向到主页,而不是更远的地方。此外,我也未能在应用程序中心使用内置搜索引擎找到它。
有人知道从哪里可以买到吗?
或者可能是导航环路的另一种解决方案?
如果使用RemoveBackEntry(),则会以编程方式从后台清除条目,这样就不必处理实际导航回页面以将其从堆栈中弹出的副作用。
非线性导航服务有效地完成了您的尝试。它调用GoBack()来遍历堆栈。它还可以防止闪烁,使根帧透明。请参阅此问题:
按下后退按钮时跳过一页,WP7
我不想把你的问题称为重复,因为我认为在芒果问世之前,这可能是需要使用的解决方案。既然RemoveBackEntry()已经添加到NavigationService中,我认为使用它可能是更好的方法。
WP7中不建议使用线性导航,因为手机其他部分有硬件后退按钮和用户体验,所以您可能应该构建应用程序以避免这种情况。但是,它应该通过认证程序。
这里还有另一个类似的问题,是否允许在应用程序主页按钮中导航到主页?以及一篇关于循环导航的文章,其中提到了您正在谈论的NonLinearNavigationServicehttp://windowsteamblog.com/windows_phone/b/wpdev/archive/2010/12/13/solving-circular-navigation-in-windows-phone-silverlight-applications.aspx.
如果导航的唯一非线性部分是主页按钮,则可以在循环中使用NavigationService.RemoveBackEntry(),直到它在主页按钮事件中引发InvalidOperationException
为止。当InvalidOperationException
升起时,BackStack为空,下一次单击后退按钮将退出应用程序。