C# 在windows phone 8中导航到同一页

C# 在windows phone 8中导航到同一页,c#,navigation,windows-phone-8,C#,Navigation,Windows Phone 8,在我的WP8应用程序中,我遇到这样的情况:我必须从一个页面导航到另一个页面,然后出于某些原因,我需要重新加载同一页面 MainPage.xaml-->Page1.xaml-->Page1.xaml-->Page1.xaml-->Page1.xaml 当用户按下back键时,应该返回到“MainPage.xaml”页面 我尝试使用NavigationService.navigate()进行导航,但由于某些原因,我无法重新加载页面。如果我通过导航url传递任何唯一的查询字符串(例如:Guid),我就

在我的WP8应用程序中,我遇到这样的情况:我必须从一个页面导航到另一个页面,然后出于某些原因,我需要重新加载同一页面

MainPage.xaml-->Page1.xaml-->Page1.xaml-->Page1.xaml-->Page1.xaml

当用户按下back键时,应该返回到“MainPage.xaml”页面

我尝试使用
NavigationService.navigate()
进行导航,但由于某些原因,我无法重新加载页面。如果我通过导航url传递任何唯一的查询字符串(例如:Guid),我就能够重新加载页面。但是,当我按下后退按钮时,它永远不会返回Mainpage.xaml页面

有没有最好的方法来实现这一点?

使用方法删除最后一个导航堆栈项

您还可以从导航历史记录中删除所有元素:

while(service.CanGoBack)
    service.RemoveBackEntry();

然后添加您感兴趣的内容。

每次重新加载页面时都要传入一个查询字符串(例如随机GUID)。在
OnNavigatedTo
方法上,检查GUID查询字符串是否存在。如果它确实存在,则您知道您不希望此页面位于
导航堆栈上,因为它是重新加载的版本,因此您可以通过调用来删除它


您可以在控件下使用它导航到同一页面,因为我找不到任何关于此的Windows 10(Universal apps UWP UAP)问题,而这似乎是google搜索重新加载页面的最佳结果,下面是一个解决方案:

NavigationService.Refresh();
我正在我的应用程序上使用,所以我不知道它在这里是否重要。lib将NavigationService封装在自己的INavigationService中

您可以在回发URL中传递一个
签名吗。。?
NavigationService.Navigate(new Uri("/MainPage.xaml?" + DateTime.Now.Ticks, UriKind.Relative));
NavigationService.Refresh();