【问题标题】:Refreshing a page刷新页面
【发布时间】:2012-06-30 00:22:51
【问题描述】:

我需要在 wp7 中刷新一个页面。在谷歌搜索并得到这个

NavigationService.Navigate(new Uri(NavigationService.Source + "?Refresh=true", UriKind.Relative));

但是当我使用它时出现错误,即应用程序中断。

wp7如何刷新当前页面?

【问题讨论】:

  • 只是想知道为什么要刷新而不是在对象 / Observablecollections 上使用 INotifyPropertyChanged?我能想到几个有效的用例,但想知道......
  • 例如,我使用了这个,因为最初折叠的全景项目在不打乱全景布局的情况下无法显示,所以我不得不“重新加载”页面。

标签: windows-phone-7


【解决方案1】:

只需提供一个唯一的 URL ID,它就会重新加载同一页面。您可以生成一个随机数,但最简单的方法可能是使用 GUID。

NavigationService.Navigate(new Uri(string.Format(NavigationService.Source +
                                    "?Refresh=true&random={0}", Guid.NewGuid()));

【讨论】:

  • 先生,我正面临重新加载同一页面但在 ListBox 中使用新的 Web 响应数据的问题。实际上,我遇到的情况是列表数据很多,因此我必须加载同一页面,但要加载与该单击项目相关的新列表数据。是的,页面导航正常,但 ListBox 数据没有刷新,因为网络调用没有实现。可以请您抽出时间吗?
  • 您应该将此作为新问题发布。您的 ListBox 数据是如何设置的? (使用 INotifyPropertyChanged 进行数据绑定?)您的网络调用中抛出了什么异常,您使用的是 WebClient 还是 HttpWebRequest?
  • @PareshMayani - 如果您的请求被缓存,试试这个stackoverflow.com/questions/4461610/…
  • @keyboardP 是的,我每次都成功获得网络响应,我面临的问题是无法使用新的响应数据加载同一页面,现在我做了什么?我只是根据每个列表项单击进行新的网络调用。非常感谢您的回复。
  • @PareshMayani - 使用ObservableCollection 代替列表会更好,因为ObservableCollection 会自动告诉列表框更新和刷新内容。但我必须查看列表框代码才能找出问题所在。发布一个包含详细信息的新问题,也许我或其他人会知道问题所在:)
【解决方案2】:

试试这个:

NavigationService.Navigate(new Uri( "/Game.xaml?Refresh=true", UriKind.Relative) );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-27
    • 2011-12-22
    • 2010-10-21
    • 2018-12-04
    • 2019-05-15
    • 2010-12-04
    • 2012-08-13
    相关资源
    最近更新 更多