2011-05-31 59 views
0

我在我的UI中有一個WebBrowser元素,我可以將其導航到託管頁面,但是當我希望它加載本地網頁(這是我的解決方案資源中)時, HTML文件託管在互聯網上,它只是顯示一個空白頁面。WebBrowser未加載我的頁面

browser.Navigate(new Uri("test.html", UriKind.Relative)); 

如果我改變UriKind或者它表示該文件無法找到一個錯誤頁面名稱,所以我知道瀏覽器找到正確的網頁,但它不會渲染。

我需要這樣做,因爲我想在用戶離線時顯示頁面。

回答

0

如果HTML文件有Content構建動作,你可以從安裝位置,如果你設定一個相對路徑直接對其進行訪問。

如果您希望能夠在頁面之間導航或在文件中包含其他資源(包括外部css,js甚至圖像),那麼您需要將所有文件複製到IsolatedStorage並從那裏查看它們或將它們託管在外部。

編輯:
MSDN有這解釋了將文件複製到IsolatedStorage的文章,這樣他們就可以在WebBrowser控件來查看,在http://msdn.microsoft.com/en-us/library/ff431811(v=vs.92).aspx

+0

我確實需要JS和圖像,但不需要導航,因爲它只是一個包含我需要的所有內容(100多個圖像)的HTML,我應該如何執行IsolatedStorage過程? (複製和訪問),thx – 2011-06-03 04:24:05

0

瀏覽器無法從App/Dll讀取資源。但是,你必須在同一文件夾,你的應用程序文件,你可以這樣做:

var home = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase; 
browser.Navigate(new Uri("file://" + home + "/test.html"); 
+0

我得到一個「System.MethodAccessException」當系統創建home變量:S附加信息:試圖訪問該方法失敗:System.Reflection.Assembly.GetName() – 2011-05-31 03:36:41

+0

這聽起來像Windows Phone 7上的安全限制。我從來沒有使用過這個表單。希望有人在那裏會啓發我們。 – 2011-05-31 03:41:13

+0

WP7不支持「file://」協議 – 2011-05-31 08:20:30