Windows Phone— 后退堆栈导航

本次主要学习如何通过操作应用程序的后退导航历史记录(称为后退堆栈),修改其导航。在 Windows Phone OS 7.1 中,向 NavigationService API 添加了处理导航历史记录和启用导航历史记录检测的功能。本主题将使用这些属性和方法检测后退堆栈、删除条目,然后观察这些更改在应用程序导航上产生的效果。应用程序的导航历史记录
  

  本次主要学习如何通过操作应用程序的后退导航历史记录(称为后退堆栈),修改其导航。在 Windows Phone OS 7.1 中,向 NavigationService API 添加了处理导航历史记录和启用导航历史记录检测的功能。本主题将使用这些属性和方法检测后退堆栈、删除条目,然后观察这些更改在应用程序导航上产生的效果。应用程序的导航历史记录表示为后进先出结构,称为堆栈,此处该结构还称为后退堆栈。

  想要改变后退堆栈的内容,我们需要使用PhoneApplicationFrame的控件类,首先介绍一下PhoneApplicationFrame,PhoneApplicationFrame是WP开发的一个顶级控件,该控件可托管PhoneApplicationPage类。详细请查看一下两个链接PhoneApplicationFrame类和Windows Phone框架和页面导航概述。我是在MSDN的如何使用Windows Phone的后退堆栈进行导航里学习的,它介绍了一个简单的示例可以当参考。在这个示例中PhoneApplicationFrame类除了实现导航的操作,还为应用程序添加了一个模板用以显示记录以及操作。在如何使用Windows Phone的后退堆栈进行导航中,涉及到历史记录操作的主要代码如下:

//声明一个PhoneApplicationFrame变量
public PhoneApplicationFrame RootFrame { get; private set; }

//通过PhoneApplicationFrame对象的BackStack获取历史记录的条目
foreach (JournalEntry journalEntry in RootFrame.BackStack.Reverse())
{
    //通过调用 journalEntry.Source 属性获取到每一条记录的URL
}


//删除最近的一条记录
//如果需要删除多条记录,可以采用循环的方式
RootFrame.RemoveBackEntry();

  以上代码主要介绍了用PhoneApplicationFrame操作导航记录,上面只用到了BackStack和RemoveBackEntry方法。对历史记录的操作主要是参考NavigationService类,它主要是提供方法、属性和事件以支持在 Silverlight 应用程序中的导航。详细请查看NavigationService。

  本文来自松竹柏柳的博客,原文地址:http://www.cnblogs.com/renhao0118/archive/2012/10/31/2747734.html

posted @ 2014-11-19 09:20  木木船长  阅读(103)  评论(0)    收藏  举报