Deployment.Current.Dispatcher.BeginInvoke什么都不做

时间:2012-08-07 22:28:50

标签: c# silverlight windows-phone-7 dispatcher ui-thread

我无法在网络浏览器上显示html。我使用方法“Deployment.Current.Dispatcher.BeginInvoke”但它不会显示任何内容。我想要做的是从服务器获取html作为字符串并在我的Web浏览器中显示。我可以显示消息框,但我不能将包含html的字符串发送到我的Web浏览器。 以下是给我带来麻烦的代码片段:
    Deployment.Current.Dispatcher.BeginInvoke( () => { WebBrowser webBrowser1 = new WebBrowser(); //MessageBox.Show(responseString); webBrowser1.NavigateToString(responseString); });

1 个答案:

答案 0 :(得分:1)

我认为出现此错误的原因是因为您在回调代码中创建了WebBrowser - 实例 - 您不应该这样做(因为您将如何在屏幕上显示它?你试图从你的应用程序进入主WebBrowser应用程序(IE),你应该使用WebBrowserTask

所以:

  1. 您正试图在应用程序视图(混合样式)中显示WebBrowser。如果是这样,您应该在显示的.NavigateToString(string html)上调用WebBrowser,而不是创建其他实例。
  2. 您正试图在手机上的主浏览器应用中显示已下载的HTML(Internet Explorer)。这不能通过直接移交HTML来完成,你必须向它发送浏览器可以找到它的URI对象。
  3. 当然,问题出在代码中的其他地方。这是我能用你提供的信息和代码回答的最好的。