如何从框架的历史记录中删除页面?

2024-05-07

如何在 WinRT XAML 应用程序中操作框架的历史记录?

用户将从我的中心页面开始,他们可以在其中选择现有项目以转到其编辑屏幕,也可以选择“新项目”。 “新建项目”将引导他们通过一个简短的向导,然后将他们带到“编辑项目”屏幕。

向导页面只是我在框架中导航到的页面是有意义的;这样,如果用户改变主意,他们可以退出向导。 (它只有两页,因此“后退”可以代替“取消”。)但是一旦向导完成并提交更改,这些向导页面就不再有任何理由出现在历史记录中;如果用户从“编辑项目”页面单击“返回”,我希望他们立即返回到中心。

为了说明这一点,我希望流程看起来像这样:

  • 框架历史记录:集线器。用户单击“新项目”。
  • 帧历史记录:中心 -> 向导页面 1。用户单击“下一步”。
  • 帧历史记录:中心 -> 向导页面 1 -> 向导页面 2。用户单击“完成”。
  • 帧历史记录:中心 -> 编辑项目。

Frame http://msdn.microsoft.com/en-us/library/windows.ui.xaml.controls.frame.aspx似乎没有任何“从历史记录中删除”的方法。文档确实暗示可能有某种方法可以覆盖历史记录,因为文档GoBack http://msdn.microsoft.com/en-us/library/windows.ui.xaml.controls.frame.goback.aspx说“导航到后退导航历史记录中的最新项目,如果 Frame 管理自己的导航历史记录“(强调我的),但这就是关于这个主题的全部内容——没有提到其他人如何管理它的历史。所以我不知道这是否有用。

用户完成向导后,如何从框架的历史记录中删除向导页面?


您可以通过在框架上调用 SetNavigationState(string navigationState) 从历史记录中删除页面。不幸的是,序列化的 navigationState 的格式是“仅供内部使用”,因此仅更改字符串可能会破坏未来版本中的代码。

我只能想到一种面向未来的方法完全清楚导航堆栈:

  1. 在程序启动时,通过调用 GetNavigationState 保存空导航状态。
  2. 在为“编辑项目”页面调用 Navigate 之前,请使用空导航状态调用 SetNavigationState。

您的“编辑项目”页面现在将成为堆栈上的第一页。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从框架的历史记录中删除页面? 的相关文章

  • 如何发送和接收 Windows Phone 8.1 的推送通知

    我按照微软关于在 Windows Phone 8 0 上发送和接收推送通知的文章进行操作 https msdn microsoft com en us library windows apps hh202967 v vs 105 aspx
  • 禁用 FlipView 上的导航

    我想禁用我的所有导航FlipView 水平滚动 来自用户的输入 例如鼠标滚轮和触摸屏 Flipview 应该以编程方式更改其选定索引的唯一方法 我已经删除了FlipView的风格 我尝试改变一些ScrollViewer其风格的属性 但我无法
  • 在 Metro 应用 XAML 中的 ListView 中设置 SelectedItem 样式

    我在设置 Metro 应用程序列表框中所选项目的样式时遇到问题 我已经为该项目创建了 DataTemplate 其中有一个我想要更改颜色的 TextBlock 我在 WPF 中尝试了很多东西 但它们不适用于 Metro 例如 DataTem
  • 使用 c# 和 xaml 在 Metro 应用程序中显示 svg

    我正在使用 XAML 和 C 开发 Windows 8 Metro 应用程序 我有一个 SVG 图像的 Uri 它确实有效 但我不知道如何获取此图像并将其显示在 XAML 中 或者是否无法在 NET Core 中使用 SVG 一种方法是将
  • WinRT 有垃圾收集吗?

    WinRT 有垃圾收集吗 或者它是否像 COM 一样进行引用计数 I found 本文 http www itwriting com blog 4866 a few facts about microsofts new windows ru
  • Windows 应用商店应用程序中不会调用 Page.OnNavigedTo

    我有一个 Windows 应用商店混乱的应用程序 我添加了一个基本页面 它添加了通用类 例如 LayoutAwarePage 但是当应用程序启动时 Page OnNavieratedTo 不会被调用 MSDN 文档说 当页面被加载并成为当前
  • 在 Metro 应用程序中以编程方式设置图像源,图像不出现

    我的应用程序中有一个主页和一个相机页面 主页有一个没有源集的图像和一个按钮 如果单击该按钮 它将带您进入相机页面 在相机页面上 我捕获图像并将其保存在平板电脑上的图片库中 然后导航回主页 我想将图像源设置为我刚刚捕获并保存在图片库中的图像
  • 绑定到父 ListViewItem 的 IsSelected 属性

    我正在尝试绑定一个的 Visibility 属性TextBlockListView 的 ItemTemplate 中保存的 TextBlock 父 ListViewItem 的 IsSelected 属性 使用此标记 TextBlock 始
  • 如何卸载其他用户安装的应用程序?

    当我尝试调试 Windows 8 应用程序并且另一个用户帐户上已安装了一个副本时 我不断遇到此问题 DEP0700 应用程序注册失败 另一个用户已经安装了此应用程序的打包版本 未打包的版本无法替代它 冲突的包是 PackageName 由
  • sqlite 无法识别通用列表

    在 Windows 应用商店应用程序项目中 我从 Web 服务获取 JSON 如下所示 http paste2 org jfMJ2AGA http paste2 org jfMJ2AGA 我有这两门课 public class media
  • Windows Phone 8.1 中的 RadialGradientBrush?

    请告诉我如何在 Windows Phone 8 1 应用程序中创建 RadialGradientBrush 我试图在这里找到它 但没有这样的刷子 Windows UI Xaml Media 有任何想法吗 谢谢你 如果您不介意从 NuGet
  • 如何更改 GridView 内 ListViewItemPresenter 中的 SelectedBackground

    我在 SubSection 中有一个 Clickable Gridview
  • dependency walker 在正确运行的系统上给我错误

    我的系统上缺少 dll 我有以下消息 无法加载文件或程序集 mydll dll 或其依赖项之一 当然 mydll 存在于此 它很可能是它所依赖的另一个 dll 我下载了 dependency walker 来检查它可能是什么 我首先在另一个
  • Windows Phone 后台任务过早停止

    我正在开发一个 WP8 1 SL 应用程序 它使用后台任务 不是代理 我的任务由 TimerTrigger 触发 每 30 分钟一次 我相信这是 Windows Phone 的最小间隔 对吧 它正在做很多工作 并且由于某种原因 有时它会被中
  • WinRT 类库和 Windows Phone 8 之间的兼容性如何?

    我想要一个可以在 WinRT 和 Windows Phone 8 下运行的类库 我需要做什么 对 Cerebrate 的答案 1 可移植类库是正确的选择 然而 PCL 并不是一根魔杖 无法弥合 WP8 和 Win8 之间的许多不一致之处 对
  • 如何为 Windows toast 注册协议?

    如何注册 Windows toast 协议 样本中来自https blogs msdn microsoft com tiles and toasts 2015 07 02 adaptive and interactive toast not
  • Windows 8 的 Grid.IsSharedSizeScope 等效项

    是否有任何类型的与 WPF 等效的简单 非自定义编码 Grid IsSharedSizeScope在 Windows 8 RT XAML 中 I have ListViewItem分为 3 个水平部分 这 3 列需要与所有边界对齐 每个列的
  • 如何遍历iFrame内的不同框架?

    我有一个下面给出的 iframe 我可以遍历到 iframe 但无法执行任何操作 例如遍历或单击框架集中的其他组件或框架 如何单击框架集中的框架 元素
  • 自动调整大小完成后如何获取帧大小

    我想知道 如何以及何时 viewDidLoad viewWillAppear viewDidAppear 可以获得自动调整大小以适合其父视图的 UIViews 框架大小 从你的问题中不清楚你为什么想要它 但我想这是为了布局你的子视图 幸运的
  • WinRT 中的数据触发器?

    我能够找到事件触发 http msdn microsoft com en us library windows apps windows ui xaml eventtrigger 28v VS 85 29 aspx然而 在 WinRT 参考

随机推荐