如何在WinRT XAML应用程序中操作帧的历史记录?
用户将从我的集线器页面开始,在那里他们可以选择一个现有的项目转到它的编辑屏幕,或者他们可以选择“新项目”。“新建项目”将带他们通过一个简短的向导,然后带他们到“编辑项目”屏幕。
向导页面只是我在框架中导航到的页面是有意义的;这样,如果用户改变主意,就可以退出向导。(只有两页,所以“后退”可以代替“取消”。)但是,一旦完成了向导并提交了更改,这些向导页面就不再存在于历史记录中;如果用户单击“编辑项目”页面的返回,我希望它们直接返回到中心。
为了说明,我希望流看起来像这样:
框架似乎没有任何类似于“从历史中删除”的方法。文档确实暗示有某种方法可以覆盖历史记录,因为GoBack的文档说“如果框架管理自己的导航历史记录,那么导航到后导航历史记录中的最新项”,但这就是它在这个主题上要说的全部内容--没有提到其他人如何管理历史记录。所以我不知道这是否有用。
一旦用户完成向导,如何从框架的历史记录中删除向导页?
发布于 2012-10-09 11:11:08
您可以通过调用框架上的SetNavigationState(string navigationState)从历史记录中删除页面。不幸的是,序列化navigationState的格式是“仅供内部使用”,因此仅更改字符串可能会在未来版本中破坏您的代码。
我只能想出一个将来的证明方法来完全清除导航堆栈:
您的“编辑项目”页面现在将是堆栈中的第一个页面。
https://stackoverflow.com/questions/11278569
复制相似问题