You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac版Visual Studio中Xamarin.iOS项目XAML显示PNG图片咨询

在Xamarin.iOS中显示Assets.xcassets里的PNG图片

嘿,完全不需要依赖服务来构建图片对象哦!既然你已经把图片放在iOS项目的Assets.xcassets资源目录里了,Xamarin.Forms的Image控件可以直接识别并加载这些资源,步骤超简单:

第一步:确认图片的配置

先确保你的picture.png资源在Assets.xcassets里的设置正确:

  • 右键Mac版VS里的picture资源集,选择属性
  • 确认Build Action设置为Asset Catalog Compiler(这是默认设置,但最好检查一下)
  • 确保你在资源集的不同分辨率槽位(比如1x、2x、3x)里都放了对应尺寸的图片,至少要有一个通用尺寸的版本

第二步:修改XAML代码直接显示

你只需要给Image控件的Source属性赋值资源集的名称(注意不要加.png后缀!),Xamarin.Forms会自动帮你处理iOS端的资源加载:

<StackLayout Orientation="Horizontal">
    <Image Name="MyImage" Width="180" Source="picture" />
</StackLayout>

(可选)在C#代码中动态设置图片

如果需要在后台代码里动态修改图片源,也很简单,直接赋值资源名称即可:

public YourPageName()
{
    InitializeComponent();
    // 两种方式都可以
    MyImage.Source = "picture";
    // 或者用ImageSource的静态方法
    // MyImage.Source = ImageSource.FromFile("picture");
}

关键注意事项

  • 大小写敏感:资源集的名称和你代码里写的必须完全一致,比如资源集叫Picture,你写picture就会加载失败
  • 不要加文件后缀:Assets.xcassets里的资源是按“资源集名称”引用的,不是原始文件名,所以别写picture.png
  • 跨平台兼容:如果你的项目是跨平台的,Android端只需把图片放在Resources/drawable目录(Build Action设为AndroidResource),同样用Source="picture"就能在两个平台都显示,Xamarin.Forms会自动适配

内容的提问来源于stack exchange,提问作者Bob Barbara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:37:29