1

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

<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>

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

4

1 回答 1

1

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

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

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

或者绑定到为您提供当前应用程序路径的方法。(搜索一下,因为在 SO 上有很多这样的问题得到了回答)。

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

另一种方法是这样做,并设置Build ActionResource- 这将使您的应用程序与 DLL 中的图像一起编译。缺点是 DLL 会更大,但您不必记住在部署时复制文件。

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

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

希望能帮助到你!

于 2013-03-19T22:08:41.017 回答