2010-10-21 47 views
0

我試圖使用Image控件是一個非常基本的方式,喜歡這裏:在Silverlight使用圖像控制(4)

http://www.silverlightshow.net/items/Using-the-Image-control-in-Silverlight-2-Beta-1.aspx

所以我結束了XAML這樣的:

<Image x:Name="imgSmall" Stretch="Fill" Source="../Img/Small/105.jpg" Margin="10,0,0,0"></Image> 

哪一個不工作。該圖片是空白,而在設計師的URI是強調與消息」 ......是不是項目的一部分或其生成操作未設置爲「資源」如果我改變源的屬性

在我的ViewModel,這樣設置:

new Uri(App.Current.Host.Source, "../Img/Small/105.jpg"); 

然後正常工作。我更願意使用更簡單的語法並直接獲取圖像。這可能嗎?

(圖像是從的ClientBin一個級別)

設置我所有的網站圖片的建立=資源是不可能的。

謝謝!

回答

1

您必須創建一個採用相對圖像路徑並添加「絕對」部分的轉換器。您可以將相對Uri作爲綁定值或作爲converterParameter傳遞。

class ImageConverter : IValueConverter 
{ 
    // method convert() 
    return new BitmapImage(new Uri(App.Current.Host.Source, ((string)parameter)); 
    //... 
} 
0

它的ID不起作用,因爲圖像沒有添加到您的項目。 將圖像添加到項目中,然後您可以設置來自xaml的源代碼。