微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何知道哪一个是我在Windows Phone 8.1中的最后一页

所以在WP7和WP8中,我在Page2中做了这个,知道我是否来自Page1:

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); var lastPage = NavigationService.BackStack.FirstOrDefault(); if (null != lastPage && true == lastPage.source.ToString().Contains("Page1.xaml")) { } }

在WP8.1中做什么?

代码文件删除所有空白的最简单的方法是什么?

取消KeyUP事件的处理程序? VB.NET

删除加载的pyd文件

应用程序设置中的结构数组

NSIS – 如何将所有文件夹从源代码包含到安装程序

在Windows Phone 8.1中,您可以使用Frame(当前页面)的BackStack属性

使用下面的代码,你会得到导航到新页面页面

var lastPage = Frame.BackStack.Last().sourcePageType

在WP8.1 RunTime中,您有一个用于导航的Frame类,在那里您还可以找到BackStack属性 ,您可以从中读取以前的页面

示例示例如下所示:

/// <summary> /// Method checking type of the last page on the BackStack /// </summary> /// <param name="desiredPage">desired page type</param> /// <returns>true if last page is of desired type,otherwise false</returns> private bool CheckLastPage(Type desiredPage) { var lastPage = Frame.BackStack.LastOrDefault(); return (lastPage != null && lastPage.sourcePageType.Equals(desiredPage)) ? true : false; } protected override async void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (CheckLastPage(typeof(MainPage))) { // do your job await new MessageDialog("PrevIoUs is MainPage").ShowAsync(); } }

在您的OnNavigatedTo函数中,您可以使用以下代码来确定您上次访问的页面

protected override void OnNavigatedTo(NavigationEventArgs e) { if(this.Frame.BackStack.Count>0) { var lastPage = this.Frame.BackStack[this.Frame.BackStackDepth - 1]; string lastPageName = lastPage.sourcePageType.Name; if(lastPageName == "MainPage") {//This is main page} } }

它适用于wp 8.1 silverlight

var prevIoUsPage = NavigationService.BackStack.FirstOrDefault().source; if (prevIoUsPage!=null && prevIoUsPage.ToString().Contains("MainPage")) { // do your work }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐