Xamarin.Forms:使用资产目录中的图像

tes*_*ing 5 xaml image xamarin.ios asset-catalog xamarin.forms

我有一个“主详细信息”页面,我想在导航栏中设置图标以显示菜单。因此,我将图像放入资产目录中(资产目录 > 媒体 > 菜单)。如果我想从 XAML 引用该图像,当图像位于资产目录中时,它不会显示。

我尝试了不同的路径,但它们都不起作用。调试也不显示任何图像。Xamarin.Forms 似乎不支持资产目录,但事实并非如此。在正常的内容页面上我有这个:

<ContentPage.ToolbarItems>
 <ToolbarItem Text="Configuration" Activated="OpenConfiguration" Order="Primary" Priority="0">
  <ToolbarItem.Icon>
    <OnPlatform x:TypeArguments="FileImageSource">
      <OnPlatform.iOS>gear.png</OnPlatform.iOS>
      <OnPlatform.Android>gear.xml</OnPlatform.Android>
      <OnPlatform.WinPhone>Assets/gear.png</OnPlatform.WinPhone>
    </OnPlatform>
  </ToolbarItem.Icon>
 </ToolbarItem>
</ContentPage.ToolbarItems>
Run Code Online (Sandbox Code Playgroud)

这是没有问题的工作。在我的MasterPage(页面,负责显示主详细信息模板中的菜单条目)上,我有以下内容:

<ContentPage.Icon>
 <OnPlatform x:TypeArguments="FileImageSource">
  <OnPlatform.iOS>menu.png</OnPlatform.iOS>
  <OnPlatform.Android>menu.xml</OnPlatform.Android>
  <OnPlatform.WinPhone>Assets/menu.png</OnPlatform.WinPhone>
 </OnPlatform>
</ContentPage.Icon>
Run Code Online (Sandbox Code Playgroud)

基本上,它是相同的代码,但图标不显示。仅当我将图像放入Resources文件夹时才会显示图标...

但是如何在 XAML 中使用资产目录中的图像呢?

tes*_*ing 2

我从 Xamarin 得到的唯一答复是,它FileImageSource不能与资产目录一起使用。这并不完全正确,但由于它并非每次都有效,因此不应使用它。