绑定到库中的图像(带绝对路径)

时间:2013-03-16 23:57:07

标签: c# xaml windows-8 windows-store-apps

我正在写一个可以访问音乐库的音乐播放器。我想支持存储在曲目旁边的封面图像,例如:

  • AlbumFolder /
    • TRACK1
    • 磁轨2
    • Cover.jpg

我有这些封面图像的绝对路径存储并转换为我的视图模型上的Uri个对象。我尝试使用Image将这些绑定到XAML中的UriSource,但图像仍为空白。我还尝试使用从Uris到[{1}}的转换器绑定到Source,结果相似。在这两种情况下,我都没有任何例外或绑定错误。

我知道我可以自己预加载图片并从BitmapImage创建BitmapImage,但我会重新创建现有的缓存系统。你有什么建议可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我认为Windows应用商店应用程序中没有用于访问本地路径的Uri协议,AFAIK仅适用于resources on web, in application package and in application state

您可以做的最好的事情是根据本地路径在视图模型中创建BitmapImage。这样的事情应该有效:

var file = await StorageFile.GetFileFromPathAsync(filepath);
var stream = await file.OpenReadAsync();
var bitmap = new BitmapImage();
await bitmap.SetSourceAsync(stream);