2012-09-20 8 views
2

이미지를 GridView에 추가하려고하지만 이미지가 실제로 표시되지 않습니다. 대신, 미리보기 레이아웃에 클래스 이름 만 표시합니다. 여기 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);   
} 

답변

7

시각적 트리에 BitmapImage 초를 추가했기 때문입니다. BitmapImage은 시각적 요소가 아닙니다. 당신이해야 할 일은 Image을 만들고 이미지 파일의 URI로 Source 속성을 설정하는 것입니다. xaml에는 이것에 대한 예가 많이 있으며 내 블로그 here에도 코드가 있습니다.

나는이 테스트를하지 않은하지만 결과는 아래와 같습니다 :

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