2012-08-07 80 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對象。

當然或者說,問題出在你的代碼別的地方。這是我可以用你提供的信息和代碼回答的最好的。

相關問題