0

我正在尝试在 Xamarin 中嵌入图像,并希望看到资源 ID 出现在图像的属性中。这似乎是一个我找不到答案的问题。我已经将 VS、JDK 更新到 64 位,更新了 Xamarin,清理重建,重新启动。我正在使用最新的 API (API 27 8.1)

我检查了 Xamarin 论坛和 VS 论坛,但没有可用的答案。在我的代码隐藏中,我正在编写以下内容:

bgImage.Source = ImageSource.FromResource("FoodSnapApps.Images.steps.jpg"); 

显然它不会工作,因为资源没有参考。

在此处输入图像描述

与往常一样,我们将不胜感激任何帮助。

4

2 回答 2

2

如此处所述,在 Xamarin 表单中,本地图像必须加载到平台特定项目中:

可以将图像文件添加到每个应用程序项目并从 Xamarin.Forms 共享代码中引用。要在所有应用程序中使用单个图像,必须在每个平台上使用相同的文件名,并且它应该是有效的 Android 资源名称(即只允许小写字母、数字、下划线和句点)。

  • iOS - 自 iOS 9 以来管理和支持图像的首选方式是使用资产目录图像集,其中应包含支持应用程序的各种设备和比例因子所需的所有图像版本。有关更多信息,请参阅将图像添加到资产目录图像集。
  • Android - 使用 Build Action: AndroidResource 将图像放置在 Resources/drawable 目录中。还可以提供图像的高和低 DPI 版本(在适当命名的资源子目录中,例如 drawable-ldpi、drawable-hdpi 和 drawable-xhdpi)。
  • Windows Phone - 使用 Build Action: Content 将图像放置在应用程序的根目录中。
  • 通用 Windows 平台 (UWP) - 使用 Build Action: Content 将图像放置在应用程序的根目录中。

然后您可以按如下方式访问它们:

在 XAML 中:<Image Source="waterfront.jpg" />

在 C# 中:var image = new Image { Source = "waterfront.jpg" };

我建议您阅读所有该页面的文档以正确处理 Xamarin 表单项目中的图像。

HIH

于 2018-04-19T17:21:36.297 回答
0

我知道这是一个老问题,但是对于将来可能会到达此页面的人来说,下面的代码对我有用:

bgImage.Source="resource://FoodSnapApps.Images.steps.jpg"

于 2022-02-23T22:47:39.217 回答