如何用图片设置矩形的背景?

时间:2013-06-14 11:43:38

标签: c# wpf background

我创建了一个Rectangle

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”改变背景?

2 个答案:

答案 0 :(得分:5)

像这样:

<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))
};

答案 1 :(得分: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>