Windows Phone学习笔记(3) — — 后退堆栈导航

  本次主要学习如何通过操作应用程序的后退导航历史记录(称为后退堆栈),修改其导航。在 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

posted on 2012-10-31 12:48  松竹柏柳  阅读(286)  评论(0编辑  收藏  举报

导航