2

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);           
}
4

1 に答える 1

7

これはBitmapImage、ビジュアルツリーにsを追加しているためです。 BitmapImageは視覚的な要素ではありません。あなたがする必要があるのは、画像を作成し、 Sourceプロパティを画像ファイルのURIに設定することです。xamlにはこの例がいくつかあり、私のブログにもコードがあります

私はこれをテストしていませんが、次のようになります。

Image img = new Image();
img.Source = new BitmapImage(new Uri(url));
imagesGrid.Items.Add(img);
于 2012-09-20T20:58:06.610 に答える