【发布时间】:2014-07-08 08:02:40
【问题描述】:
我正在使用 App.RootFrame.GoBack();但它不会刷新页面(这是有道理的)。
我想强制刷新页面...无论如何要这样做?
【问题讨论】:
标签: c# windows-phone-8
我正在使用 App.RootFrame.GoBack();但它不会刷新页面(这是有道理的)。
我想强制刷新页面...无论如何要这样做?
【问题讨论】:
标签: c# windows-phone-8
this 可能重复。
无论如何,您可能希望按如下方式使用 NavigationService:
if(NavigationService.CanGoBack())
{
NavigationService.GoBack();
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
// ensure view has the data it needs
}
【讨论】:
这似乎做得很好。
IEnumerable<JournalEntry> pages = App.RootFrame.BackStack;
string pageURL = pages.First().Source.OriginalString;
App.RootFrame.Navigate(new Uri(pageURL + "?Refresh=true&random=" + Guid.NewGuid(), UriKind.RelativeOrAbsolute));
【讨论】:
OnNavigatedTo中调用两次PhoneApplicationFrame.RemoveBackEntry()以获得“刷新”效果。
在“GoBack()”上,将运行 OnNavigatedTo() 方法,但不会运行页面的构造函数。因此需要在 OnNavigatedTo() 方法中自己刷新页面。
protected override void OnNavigatedTo(NavigationEventArgs e)
{
// Refresh the data in here
}
我还怀疑你最好使用导航服务返回,即:
NavigationService.GoBack();
【讨论】: