WebBrowser没有加载我的页面

时间:2011-05-31 03:24:53

标签: c# silverlight windows-phone-7

我的UI中有一个WebBrowser元素,我可以将其导航到托管页面,但是当我希望它加载本地网页(在我的解决方案资源中)时,这是在互联网上托管的确切html文件,它只显示一个空白页面。

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

如果我更改了UriKind或页面名称,则显示无法找到该文件的错误,因此我知道浏览器正在正确查找网页但不会呈现该网页。

我需要这样做,因为我想在用户离线时显示页面。

2 个答案:

答案 0 :(得分:0)

浏览器无法从您的App / Dll中读取资源。但是,您可以将文件放在与您可以执行的应用程序相同的文件夹中:

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

答案 1 :(得分:0)

如果html文件的构建操作为Content,则可以直接从安装位置访问它,如果设置了相对路径。

如果您希望能够在页面之间导航或在文件中包含其他资源(包括外部css,js甚至图像),那么您需要将所有文件复制到IsolatedStorage并从那里或主机查看它们他们在外面。

修改
MSDN有一篇文章解释了将文件复制到IsolatedStorage,因此可以在WebBrowser控件中查看它们http://msdn.microsoft.com/en-us/library/ff431811(v=vs.92).aspx