如何将WPF网格的背景设置为本地文件夹中的图像?

时间:2016-05-04 15:44:28

标签: c# wpf

我正在开发一个小型WPF应用程序,我正在尝试将网格的背景更改为用户选择的图像(存储在计算机上与应用程序不同位置的某个位置)。是否可以不将图像包含在项目中并标记为资源?怎么样?

3 个答案:

答案 0 :(得分:1)

假设您Grid名称为grid,则xaml将为:

<Grid Name="grid">
...
</Grid>

然后以编程方式将图片设置为grid,您应该使用以下代码段:

 string imgPath=@"E:\anImage.jpg";
 grid.Background= new ImageBrush { ImageSource = new BitmapImage(new Uri(imgPath,
                                                   UriKind.RelativeOrAbsolute)) };

答案 1 :(得分:0)

您只需将图片的源URI设置为图片位置

即可
<Image Source="<<URI of image>>"/>

<ImageBrush ImageSource="<<URI of image>>"/>

或者您可以通过绑定来执行相同的操作以允许自定义

<Image Source="{Binding Data}"/>

在此示例中,Data是存储在模型中的byte [],但可以是转换为图像源的任何内容

答案 2 :(得分:0)

这对我有用: 1)在解决方案中添加图像(添加=&gt;现有项目)

2)<Grid> <Grid.Background> <ImageBrush ImageSource="/App;component/Chrysanthemum.jpg"> </ImageBrush> </Grid.Background> </Grid>