2013-08-04 90 views
4

好吧,我在我的項目資源約5 Images。我想要做的是綁定我的項目資源中的Image.Source。我的C#代碼很容易,我只是這樣做:WPF從項目資源綁定圖像源

ImageHolder.Source = Propetries.Resources.Image1.png

這怎麼能在XAML中完成? 類似這樣的:

<Image Source={??????}/> 

在此先感謝。

回答

2

確保您Build Action用於image被標記爲Resource,然後你可以簡單地做到這一點在你的XAML -

<Image Source="Properties/Resources/a.png"/> 

假設Propetries/Resources是文件夾結構,在您的項目在您的形象出現。

+0

Propetries/Resources *應該是*屬性/資源 – Drammy

+0

@Drammy - 這只是我猜測OP的一個錯字。無論如何更新了答案。 –

5

當您將圖像添加到resx文件時,Visual Studio將創建Resources文件夾並將其放入圖像文件。

爲了在綁定中使用該圖片,您需要將構建操作從None更改爲Resource。之後,你可以綁定如下:

<Image Source="Resources/your_image_name.png"/> 

不能直接綁定到Propetries.Resources.your_image_name因爲你需要System.Drawing.Bitmap轉換爲WPF的BitmapSource。但是你可以綁定到字符串在Resource.resx:

<TextBlock Text="{x:Static properties:Resources.YourStringResource}"></TextBlock> 

這裏瞭解如何System.Darwing.Bitmap轉換爲WPF位圖:Load a WPF BitmapImage from a System.Drawing.Bitmap

這裏大約在RESX文件綁定到值:Get values from *.resx files in XAML