Windows Phone 8.1中NavigationService.Refresh的等效方法?

时间:2014-12-20 18:31:32

标签: c# windows windows-phone-8.1

我想在WP 8.1中刷新我的应用页面的内容。在WP 8中,有:

NavigationService.Refresh()

但是我在8.1中找不到类似的东西。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

刚刚在msdn中看到wp8.1中有Frame.Refresh()方法。你应该从这开始。


NavigationService.Refresh() does not exist on WindowsPhone

这是@justinmchase的一个技巧:

导航到另一个页面(例如Refresh.xaml)

private void OnAllowClick(object sender, RoutedEventArgs e)
{
  LocationService.AllowLocationServices = true;
  this.NavigationService.Navigate(new Uri("/Views/Refresh.xaml", UriKind.Relative));
}

回到你的页面

public partial class Refresh : PhoneApplicationPage
{
    public Refresh()
    {
        InitializeComponent();
    }

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        var j = this.NavigationService.RemoveBackEntry();
        this.Dispatcher.BeginInvoke(() => App.RootFrame.Navigate(j.Source));
        base.OnNavigatedTo(e);
    }

    protected override void OnNavigatedFrom(NavigationEventArgs e)
    {
        this.NavigationService.RemoveBackEntry();
        base.OnNavigatedTo(e);
    }
}

修改:

此示例适用于wp8。对于wp8.1,您必须使用:Frame.Navigate(typeof(Refresh));

source