2

我创建一个矩形

public void Set(Rectangle maps, int y, int x) {
    Map.Children.Add(maps);
    maps.SetValue(Grid.RowProperty, x);
    maps.SetValue(Grid.ColumnProperty, y);

}

但是如何用“Resources/1.jpg”改变背景呢?

4

2 回答 2

7

像这样:

<Rectangle>
    <Rectangle.Fill>
        <ImageBrush ImageSource="/YourAppName;component/Resources/1.jpg" />
    </Rectangle.Fill>
</Rectangle>

再次编辑(对不起)

或者在 C# 中

maps.Fill = new ImageBrush {
    ImageSource = new BitmapImage(new Uri(@"pack://application:,,,/YourAppName;component/Resources/1.jpg", UriKind.Absolute))
};
于 2013-06-14T11:46:51.150 回答
0

我在使用“/YourAppName;”时遇到了问题 @Jonny Piazzi 建议的地址的一部分。它可能有效,我只是无法做到。或者,我能够使这种方法起作用。

1)我将图像添加到我创建的文件夹中的项目中:图像>背景> JellyFishBackground.jpg

2)我右键单击解决方案资源管理器中的图像>属性>将构建操作设置为资源

3) 构建项目

4)简单地定位图像:(在我的情况下,我定位了我的网格的一行,并使用了 Stretch 属性,这超出了这个问题的范围,仅供参考以避免混淆)

<Rectangle Grid.Row ="0">
    <Rectangle.Fill>
        <ImageBrush ImageSource="/Images/Backgrounds/JellyFishBackground.jpg" Stretch="UniformToFill"/>
    </Rectangle.Fill>
</Rectangle>
于 2020-05-20T03:37:38.563 回答