在Windows Phone中获取图像的Uri

时间:2014-06-24 11:24:02

标签: windows-phone-8 windows-phone uri bitmapimage

我应该得到我的Image的Uri,但是当我尝试这样做时,它会给出这个错误。

Quick Watch

Image的UriSource能够转换BitmapImage,但BitmapImage的属性会抛出错误。我怎样才能获得图片的来源?

img0.Source = GetImageForIndex(0, names, file, path).ImgSource;

ImageListTemplate GetImageForIndex(int index, List<string> names, IsolatedStorageFile file, string path)
    {
        using (IsolatedStorageFileStream stream = file.OpenFile(path + names[index], FileMode.Open, FileAccess.Read))
        {
            BitmapImage tempImage = new BitmapImage();
            tempImage.SetSource(stream);
            imagePath = path + names[index];
            return new ImageListTemplate() { ImgSource = tempImage };
        }
    }

ImgSource的类型已经是BitmapImage。

1 个答案:

答案 0 :(得分:2)

您没有为图片设置URI来源,而是从数据流中重新加载。

可以从流或URI填充BitmapImage。如果设置了UriSource,则只能通过从URI创建图像来读取UriSource。

根据您的代码,如果您在查询SelectedItem时想要引用回原始数据源,我建议将该路径/文件信息存储在Tag属性中。或者将其添加为绑定项数据源的另一个属性并查询。