2012-08-07 110 views
-1

我在将HTML显示到Web浏览器时遇到问题。我正在使用方法“Deployment.Current.Dispatcher.BeginInvoke”,但它不会显示任何东西。我想要做的是从服务器获取html作为字符串并显示在我的Web浏览器中。我可以显示messagebox,但我不能将包含html的字符串发送到我的Web浏览器。 这里是一个是给我找麻烦的代码片段:
Deployment.Current.Dispatcher.BeginInvoke( () => { WebBrowser webBrowser1 = new WebBrowser(); //MessageBox.Show(responseString); webBrowser1.NavigateToString(responseString); });Deployment.Current.Dispatcher.BeginInvoke不会执行任何操作

+0

您是否尝试导航到自己写的字符串? Like var responseStringMock =“

Hello world

”; ? – 2012-08-07 22:43:59

+0

我有一个单独的项目,它工作正常。但是如果我尝试在当前项目中做到这一点,那么它会告诉我存在无效的交叉线程。 – 2012-08-07 22:48:55

回答

1

我认为此错误的原因是因为你正在创建的WebBrowser -instance你的回调代码里面 - 你不应该闲着?(因为你打算如何在屏幕上显示出来。如果你想从你的应用程序进入主web浏览器,应用程序(IE),你应该使用WebBrowserTask代替

因此,要么:

  1. 你试图在您的应用程序视图(混合风格)内显示WebBrowser。如果是这样,您应该在WebBrowser上调用.NavigateToString(string html)而不是创建另一个实例。
  2. 您正尝试在手机(Internet Explorer)的主浏览器应用程序中显示下载的HTML。这不能通过直接移交HTML来完成,您必须将它发送给浏览器可以自己找到它的URI对象。

当然或者说,问题出在你的代码别的地方。这是我可以用你提供的信息和代码回答的最好的。

相关问题