我在IsolatedStorage中存储了一个HTML文件作为test.html
。
在UI中,我有一个名为浏览器的WebBrowser
组件。我使用以下代码在浏览器中显示网页:
browser.Navigate(new Uri("isostore:/test.html", UriKind.Absolute));
但是,它给了我在商店中搜索应用程序的提示,就好像我正在尝试使用LaunchUriAsync
或LaunchFileAsync 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;