如何仅使用XAML(无需C#后台代码)加载显示本地图片文件?
解决方案
完全可以仅通过XAML实现本地图片加载,不需要后台C#代码,按以下步骤调整即可:
1. 先配置图片文件属性
将你的myLogo.jpg文件放到UWP项目的对应目录(推荐放在Assets目录下统一管理),右键点击该文件选择「属性」,按以下要求配置:
- 生成操作:设置为
内容 - 复制到输出目录:设置为
如果较新则复制
2. 修改XAML代码
你之前的XAML漏了Aspect属性显式声明,同时要保证Source路径和你存放图片的路径匹配,修改后代码如下:
<Grid> <Image x:Name="logo" Grid.Row="4" Grid.Column="1" Source="Assets/myLogo.jpg" <!-- 如果你把图片放在项目根目录,这里直接写myLogo.jpg即可 --> Aspect="AspectFit" HorizontalOptions="Center"/> </Grid>
原问题原因说明
- 你之前XAML没有显式设置
Aspect="AspectFit",Image控件默认的Aspect属性值不符合你的渲染需求,导致图片展示异常 - 如果图片文件的生成操作未设置为「内容」,XAML的资源解析逻辑无法识别到该图片资源,所以会显示空白;后台
ImageSource.FromFile走的是运行目录文件读取逻辑,只要文件被复制到输出目录就能正常读取,所以后台设置能生效。
内容的提问来源于stack exchange,提问作者abhi
相关产品推荐
相关产品推荐

