我想从后面的代码中将一个图像包含在我的项目中,以便允许我将图像设置为我的矩形的填充! 我正在以这种方式插入图像:
<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>
要创建此背景图像,我必须在项目中包含图像文件,并右键单击文件并设置“包含在项目中”。 你能帮我在运行时从后面的代码中包含图像,因为我需要从文件夹中的大多数文件中设置图像!
答案 0 :(得分:0)
一种方法是“包含在项目中”或“添加现有项目”,在“属性”下,将“复制本地”设置为“始终”。
请注意,在这种情况下,您需要获取应用程序文件夹路径
<ImageBrush ImageSource="c:\[YourPath]\[YourProject]\someImg.png" Stretch="UniformToFill" />
或绑定到为您提供当前应用程序路径的方法。 (对此进行搜索,因为有很多此类问题已在SO上得到解答)。
这意味着当您部署应用程序时,您必须使用它部署映像(它将最终放在bin文件夹中,并提供您提供的任何路径结构)。
另一种方法是执行相同操作,并将Build Action
设置为Resource
- 这将使您的应用程序使用DLL内的图像进行编译。缺点是DLL会更大,但您在部署时不必记住复制文件。
按名称访问resource
(无正斜杠)
<ImageBrush ImageSource="someImg.png" Stretch="UniformToFill" />
希望它有所帮助!