2013-12-08 39 views
0

我有一個Canvas,到了我把Image S,這樣的:WPF圖片來源變爲空本身

Image img = new Image() 
{ 
    Source = new BitmapImage(new Uri(cardImages[0].Last(), UriKind.Relative)) 
}; 

CardStackCanvas1.Children.Add(img); 
CardStackCanvas1.InvalidateVisual(); 

這些行後,如果我檢查Canvas的兒童,Image是存在的,如它應該與正確的Source

如果我的話,該方法後,我在其中添加Image完成後,再看一下Canvas包含(例如通過創建一個MouseUp事件)時,Image仍然存在,但它現在Sourcenull。我現在無能爲力。

回答

0

我想你改變了cardImages數組元素,它們是圖像源。你應該爲圖像源提供另一個變量。

解決方案:

string imageSourceString = cardImages[0].Last(); 
Image img = new Image() 
{ 
    Source = new BitmapImage(new Uri(imageSourceString, UriKind.Relative)) 
}; 
+0

你的假設是錯誤的。當您稍後更改陣列時,從第一個「cardImages」元素創建的BitmapImage不會更改。 – Clemens