在Windows Phone中的WebBrowser componenet中从IsolatedStorage打开html



我在IsolatedStorage中存储了一个HTML文件作为test.html

在UI中,我有一个名为浏览器的WebBrowser组件。我使用以下代码在浏览器中显示网页:

browser.Navigate(new Uri("isostore:/test.html", UriKind.Absolute));

但是,它给了我在商店中搜索应用程序的提示,就好像我正在尝试使用LaunchUriAsyncLaunchFileAsync API一样。

我想问题出在 Uri 格式上。在这种情况下,正确的 Uri 格式应该是什么?

我已经解决了它,通过删除"isostore:/"来自 Uri 字符串的前缀。我知道没有任何前缀的文件路径将引用应用程序文件夹,而不是独立存储。似乎他们已经为WebBrowser组件破例了。这是现在有效的方法:

browser.Navigate(new Uri("test.html", UriKind.Relative));
C:/Data/Users/DefApps/AppData/{43F7CB8F-D4CF-425D-96BD-CD96D3FF44DC}/Local/test.html

上面的路径是独立存储的替代绝对路径。此字符串 {43F7CB8F-D4CF-425D-96BD-CD96D3FF44DC} 对于应用是唯一的,但可以从 Visual Studio 项目的属性文件夹中设置/找到。还可以通过在 C# 代码中使用以下行来获取它:

StorageFolder localFolder = ApplicationData.Current.LocalFolder;
        String mystring = localFolder.Path;

最新更新