2013-07-25 47 views
3

我有String數組,帶有圖片的網址如何字符串URL添加到圖片來源在C#和XAML

樣圖陣:

string Image = "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/187738_100000230436565_1427264428_q.jpg"; 

現在我需要綁定圖像在XAML

<Image Name="img" HorizontalAlignment="Left" VerticalAlignment="Top" Width="66" Height="66" Source="{Binding Image} " /> 

試圖給img.source但不接受,因爲續實施串system.windows.media.imagesource

+0

如果你綁定你可以使用字符串。字符串(url)存儲在哪裏?什麼是Image控件的DataContext? –

回答

5

你有沒有嘗試設置Source

var bitmapImage = new BitmapImage(); 
bitmapImage.BeginInit(); 
bitmapImage.UriSource = new Uri("https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/187738_100000230436565_1427264428_q.jpg");; 
bitmapImage.EndInit(); 

img.Source = bitmapImage; 

Here是多一點信息。

編輯

有一種可能性,即遠程圖像這不會工作(不能在此刻進行測試),我相信在這種情況下,你需要下載的圖像,所以在這裏是怎麼了這樣做:

var imgUrl = new Uri("https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/187738_100000230436565_1427264428_q.jpg"); 
var imageData = new WebClient().DownloadData(imgUrl); 

// or you can download it Async won't block your UI 
// var imageData = await new WebClient().DownloadDataTaskAsync(imgUrl); 

var bitmapImage = new BitmapImage {CacheOption = BitmapCacheOption.OnLoad}; 
bitmapImage.BeginInit(); 
bitmapImage.StreamSource = new MemoryStream(imageData); 
bitmapImage.EndInit(); 

return bitmapImage; 
+0

是的,我嘗試這個相同的錯誤字符串到system.windows.media.imagesource錯誤 –

+0

@SriramSatti我編輯了答案,給這個鏡頭。 –

+0

@SriramSatti如果這不適用於遠程圖像,我已經添加了另一種方法。 –