在项目中包含图像

时间:2013-03-19 21:54:40

标签: wpf c#-4.0 visual-studio-2012 grid rectangles

我想从后面的代码中将一个图像包含在我的项目中,以便允许我将图像设置为我的矩形的填充! 我正在以这种方式插入图像:

<Rectangle Grid.Column="2"  Grid.Row="2" Margin="4,4,4,4" Style="{DynamicResource rectangle_style}" >
    <Rectangle.Fill>
        <ImageBrush ImageSource="image.jpg" Stretch="UniformToFill"/>
    </Rectangle.Fill>
</Rectangle>

要创建此背景图像,我必须在项目中包含图像文件,并右键单击文件并设置“包含在项目中”。 你能帮我在运行时从后面的代码中包含图像,因为我需要从文件夹中的大多数文件中设置图像!

1 个答案:

答案 0 :(得分:0)

一种方法是“包含在项目中”或“添加现有项目”,在“属性”下,将“复制本地”设置为“始终”。

请注意,在这种情况下,您需要获取应用程序文件夹路径

<ImageBrush ImageSource="c:\[YourPath]\[YourProject]\someImg.png"  Stretch="UniformToFill" />

或绑定到为您提供当前应用程序路径的方法。 (对此进行搜索,因为有很多此类问题已在SO上得到解答)。

这意味着当您部署应用程序时,您必须使用它部署映像(它将最终放在bin文件夹中,并提供您提供的任何路径结构)。

另一种方法是执行相同操作,并将Build Action设置为Resource - 这将使您的应用程序使用DL​​L内的图像进行编译。缺点是DLL会更大,但您在部署时不必记住复制文件。

按名称访问resource(无正斜杠)

<ImageBrush ImageSource="someImg.png"  Stretch="UniformToFill" />

希望它有所帮助!