如何向后导航并刷新已导航到的页面

本文关键字:导航 刷新 | 更新日期: 2023-09-27 18:12:04

我使用App.RootFrame.GoBack();但是它不刷新页面(这是有意义的)。

我想强制页面刷新…怎么做呢?

如何向后导航并刷新已导航到的页面

可能重复。

在任何情况下,您都可能希望按照如下方式使用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));

对于'GoBack()', OnNavigatedTo()方法将运行,但页面的构造函数不会运行。因此,你需要在OnNavigatedTo()方法中自己刷新页面。

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    // Refresh the data in here
}

我也怀疑你最好使用navigationservice返回,即:

NavigationService.GoBack();