将图像添加到GridView

时间:2012-09-20 20:51:24

标签: c# windows-8 microsoft-metro windows-store

我正在尝试将图像添加到GridView,但图像实际上从未显示过。 相反,我只是在缩略图外观布局中显示类名。

以下是我一直在调整的代码

public async void setImage(string url) {

    Byte[] imageBytes = await httpClient.GetByteArrayAsync(url);

    MemoryStream stream = new MemoryStream(imageBytes);
    var randomAccessStream = new MemoryRandomAccessStream(stream);

    BitmapImage image = new BitmapImage();
    await image.SetSourceAsync(randomAccessStream);

    imagesGrid.Items.Add(image);           
}

感谢您的帮助。我最终得到了以下有效的块。

public void setImage(string url) {
    Image img = new Image();
    img.Source = new BitmapImage(new Uri(url));

    imagesGrid.Items.Add(img);           
}

1 个答案:

答案 0 :(得分:7)

这是因为您要将BitmapImage添加到可视树中。 BitmapImage不是视觉元素。您需要做的是创建Image并将Source属性设置为图像文件的URI。 xaml中有很多例子,我的博客here也有代码。

我没有测试过这个,但它应该是这样的:

Image img = new Image();
img.Source = new BitmapImage(new Uri(url));
imagesGrid.Items.Add(img);