在Webbrowser控件中使用本地图像

MrC*_*lio 6 c# xaml webbrowser-control windows-phone-7

我在我的Wp7应用程序中使用Web浏览器控件,但我似乎无法在Web浏览器中放置App目录中的图像.

我将一些图像放在与.cs和.xaml文件相同的目录中的文件夹中.现在我尝试将它们放在webbrowser控件中,但我似乎无法让它工作.

<img src="images/photo.jpg"/>
<img src="/images/photo.jpg"/>
Run Code Online (Sandbox Code Playgroud)

上面两个显然不起作用,我的猜测应该是这样的:

<img src="/SilverlightApplication;component/photo.jpg"/>
Run Code Online (Sandbox Code Playgroud)

"SilverlightApplication"和"组件"应该被其他东西取代,但我不知道:(

Pau*_*ton 7

您需要将图像存储在隔离存储中,然后从那里显示图像.我已经整理了一个样本,您可以从以下位置下载: -

www.smartmobiledevice.co.uk/projects/webbrowserimagesample.zip

这基于MSDN文章如何:使用Windows Phone的WebBrowser控件显示静态Web内容.


Sev*_*yev 5

在Windows Phone 8上,某些WinRT类可用,可以获取应用程序隔离存储的文件系统路径.因此,IsoStorage中文件的绝对URL将是:

string URL = "file://" +
    Windows.Storage.ApplicationData.Current.LocalFolder.Path +
    "\\folder\\filename.png";
Run Code Online (Sandbox Code Playgroud)

WebBrowser控件将这些URL用于NavigateToString()HTML格式.或者,您可以将IsoStorage指定为基础并始终使用相对URL.isostore:网址不起作用,我试过了.也没有ms-appx://local/.

为了完整起见,您可以非常类似地获取应用程序资源的文件系统路径.那就是Windows.ApplicationModel.Package.Current.InstalledLocation.Path.