我创建了一个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”改变背景?
答案 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>