我的Windows应用商店应用/ Metro / Win RT应用将服务器上的图像下载到某个本地文件夹。我需要在运行时将Image控件绑定到下载的图像。
问题是除非我将图像作为二进制资源添加到项目中,否则图像不会显示。
我下载的图像存储在ProjectFolder / Data / Media中。现在,这是我如何将图像源绑定到图像控件。
<Image x:Name="WriterImage" Stretch="None" Source="{Binding Path=PersonData.Photo.MediaImageSource"></Image>
public ImageSource MediaImageSource
{
// Here _MediaUrl gets a value: ms-appx:///Data/Media/Writer1.jpg
BitmapImage source = new BitmapImage(new Uri(_MediaUrl));
}
仅当我将Writer1.jpg作为资源添加到项目中时才有效。如果我从项目中删除它,它就不会显示出来。
答案 0 :(得分:1)
请注意,您的应用程序可以访问不同的URL方案:
ms-appx:///
是一个只读位置,指的是与您的应用程序一起包含(编译)的文件,例如资源。
ms-appdata:///local/
指的是应用程序的本地读写存储。如果您正在下载文件,我猜您应该使用此URL方案。
对于上面的示例,我会尝试使用以下网址:
ms-appdata:///local/Data/Media/Writer1.jpg
有关URL(URI)方案的更多信息,请参阅以下内容:http://msdn.microsoft.com/en-us/library/windows/apps/jj655406.aspx