代码之家  ›  专栏  ›  技术社区  ›  ila

Windows Phone 7-控制内容和异步请求

  •  0
  • ila  · 技术社区  · 14 年前

    我认为这是微不足道的,但我找不到答案:( web请求通过以下方式完成:

            WebClient wr = new WebClient();
            wr.DownloadStringCompleted += new DownloadStringCompletedEventHandler(Event_DownloadStringCompleted);
            wr.DownloadStringAsync(new Uri(theURL));
    

    这在页面加载事件中调用。 在事件\u DownloadStringCompleted中,我尝试将新值赋给TextBlocks,后者完全忽略此命令。

    我做错什么了?我是否需要找到其他事件来启动web请求?或者在web请求完成后是否可以“刷新”页面?

    3 回复  |  直到 14 年前
        1
  •  1
  •   John Vert    14 年前

    UI线程上未调用事件\u DownloadStringCompleted,因此无法更新UI。使用Dispatcher在正确的线程上获得回调。例如

    page.Dispatcher.BeginInvoke开始(委托(){文本块。文本=“完成!”; });

        2
  •  0
  •   Andréas Saudemont    14 年前

    您可能希望在页面关闭时启动web请求 OnNavigatedTo() 方法,而不是在激发页面的已加载事件时调用,尽管我认为这不能解决您的问题。

    是否确实调用了DownloadStringCompleted事件的处理程序?如果是,DownloadStringCompletedEventArgs的Error属性是否设置为非空值?

        3
  •  0
  •   Mick N    14 年前

    公开测试版中引入的一些显示驱动程序存在已知的显示/刷新问题。在某些情况下,这与ATI适配器有关。有些人在更新驱动程序后报告成功。

    这可能会影响刷新结果。

    此外,您还可以根据WPDT系统要求检查驱动程序是否符合directx10最低要求和WDDM1.1标准。如果没有,驱动程序升级(再次),适配器更改,或升级到Win7如果运行Vista解决了几个模糊的问题。

    另外,如果您有此选项,请尝试在另一台配置不同的电脑上运行。