将图像添加到GridView

Fra*_*aro 2 c# microsoft-metro windows-8 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);           
}
Run Code Online (Sandbox Code Playgroud)

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

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

    imagesGrid.Items.Add(img);           
}
Run Code Online (Sandbox Code Playgroud)

N_A*_*N_A 7

这是因为您要BitmapImage在视觉树中添加s. BitmapImages不是视觉元素.您需要做的是创建一个Image并将Source属性设置为您的图像文件的URI.有许多的XAML中这样的例子也代码在我的博客在这里.

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

Image img = new Image();
img.Source = new BitmapImage(new Uri(url));
imagesGrid.Items.Add(img);
Run Code Online (Sandbox Code Playgroud)