Какой тип возвращает getAlbumArt()
?Если это просто путь к файлу (скажем, в изолированном хранилище), вам придется написать конвертер для связывания.Кроме того, вместо функции с именем getAlbumArt()
создайте свойство с именем AlbumArt
вместо общедоступного метода получения, который позволит связываться с ним.Затем вы можете связать образ с помощью
<Image Source="{Binding AlbumArt}" />
. Затем создайте конвертер (с помощью интерфейса IValueConverter
), который будет брать путь к файлу в изолированном хранилище, и загружатьэто в BitmapImage
, который затем возвращается преобразователю в Image
в вашем ListBox
.
Этот вопрос содержит подробную информацию о том, как это сделать.
С другой стороны, если вам нужно загрузить изображение с какого-либо веб-сайта, используйте WebClient.OpenReadAsync
.
WebClient wc = new WebClient();
wc.OpenReadCompleted += new OpenReadCompletedEventHandler(OnImageDownloadCompleted);
wc.OpenReadAsync(new Uri("www.mywebsite.com/albumart/album1.jpg", UriKind.Relative));
void OnImageDownloadCompleted(object sender, OpenReadCompletedEventArgs e)
{
if (e.Error == null) {
StreamResourceInfo sri = new StreamResourceInfo(e.Result as Stream, null);
BitmapImage imgsrc = new BitmapImage();
imgsrc.SetSource(sri.Stream);
}
}