Windows Phone 7 Web浏览器导航到位于解决方案文件夹中的html文件

时间:2011-07-12 22:36:01

标签: windows-phone-7 browser

Uri currURI = new Uri(currentPageToLoad,UriKind.Relative); ExtrasHTMLbrowser.Navigate(currURI);

上面的代码基本上是抓取一个字符串(currentPageToLoad)并创建一个URI。然后我的Web浏览器ExtrasHTMLbrowser正试图导航到URI。当currentPageToLoad类似于“author.html”时,它可以很好地工作,并导航到html页面。

但是,我遇到的问题是,当html文件位于HTML等文件夹中时,它将无法正常导航。因此,当currentPageToLoad =“HTML / author.html”时,手机会给我通用的404未找到页面。

任何想法,如果文件在文件夹中,或者我是否尝试错误地访问该文件,为什么会这么重要?

非常感谢任何帮助,谢谢! -Mark

2 个答案:

答案 0 :(得分:3)

HTML文件设置为构建类型Content。然后执行以下操作:

var rs = Application.GetResourceStream(new Uri("HTML/author.html", UriKind.Relative));
StreamReader sr = new StreamReader(rs.Stream);

这会将整个HTML文件作为字符串读取。然后,您可以使用WebBrowser控件的NavigateToString方法,如下所示:

ExtrasHTMLbrowser.NavigateToString(sr.ReadToEnd());

如果您要使用图像/ CSS,则必须使用上述方法将HTML文件作为字符串读取并将其保存到独立存储中,同时保存图像和CSS文件(带有匹配的目录)

答案 1 :(得分:1)

为了能够在多个页面之间导航,您首先需要将文件复制到IsolatedStorage。如果直接在XAP中导航到文件,则无法在页面之间导航。 (相对路径不可用,您无法通过绝对Uri访问此类文件。)