0

我的 Windows Store 应用程序/Metro/Win RT 应用程序将图像从服务器下载到某个本地文件夹。我需要在运行时将图像控件绑定到下载的图像。

问题是图像不会显示,除非我将它作为二进制资源添加到项目中。

我下载的图像存储在 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 作为资源添加到项目时才有效。如果我从项目中删除它,它就不会出现。

4

1 回答 1

1

请注意,您的应用程序可以访问不同的 URL 方案:

ms-appx:///是一个只读位置,指的是应用程序中包含(编译)的文件,例如资源。

ms-appdata:///local/指您的应用程序的本地读写存储。如果你正在下载文件,我猜你应该使用这个 URL 方案。

对于上面的示例,我将尝试使用以下 URL:

ms-appdata:///local/Data/Media/Writer1.jpg

有关 URL (URI) 方案的详细信息,请参阅以下内容:http: //msdn.microsoft.com/en-us/library/windows/apps/jj655406.aspx

于 2012-12-16T23:21:42.027 回答