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