透明度不以xamarin格式显示的PNG图像(xaml)

透明度不以xamarin格式显示的PNG图像(xaml),xaml,xamarin,xamarin.forms,Xaml,Xamarin,Xamarin.forms,我已经制作了一个xamarin表单登录屏幕,我想在其中放置一个徽标,但它没有显示。我已按照以下链接上的说明进行操作: 我正在使用xaml 我已尝试按照上面的链接进行操作,但显示的只是一张空白图像,如果我使用以下内容: 此外,没有显示错误,我检查了过滤器,这是一个vs错误,没有刷新您需要在图像中添加源属性,以便显示一些内容。您可以这样做(在XAML中): 你的“catImage.png”必须存在于你希望你的应用程序工作的平台的资源中。因此,对于Android,将图像添加到Resource

我已经制作了一个xamarin表单登录屏幕,我想在其中放置一个徽标,但它没有显示。我已按照以下链接上的说明进行操作:

我正在使用xaml

我已尝试按照上面的链接进行操作,但显示的只是一张空白图像,如果我使用以下内容:



此外,没有显示错误,我检查了过滤器,这是一个vs错误,没有刷新

您需要在
图像
中添加
属性,以便显示一些内容。您可以这样做(在XAML中):


你的“catImage.png”必须存在于你希望你的应用程序工作的平台的资源中。因此,对于Android,将图像添加到Resources/Drawable,对于iOS,将图像添加到Resources文件夹

您还可以将图像添加到主项目中一次,并将其用作
嵌入式资源
。如果你想这样做,我建议你阅读


另外,如果您在项目中使用了大量图像,并且它开始失去性能,我建议您使用一些缓存图像的方法,为此,我建议您。它处理缓存、占位符和淡入动画,以便在加载图像时查看

您需要将
属性添加到您的
图像
,以便显示一些内容。您可以这样做(在XAML中):


你的“catImage.png”必须存在于你希望你的应用程序工作的平台的资源中。因此,对于Android,将图像添加到Resources/Drawable,对于iOS,将图像添加到Resources文件夹

您还可以将图像添加到主项目中一次,并将其用作
嵌入式资源
。如果你想这样做,我建议你阅读


另外,如果您在项目中使用了大量图像,并且它开始失去性能,我建议您使用一些缓存图像的方法,为此,我建议您。它处理缓存、占位符和淡入动画,以便在加载图像时查看

我不确定您是否遵循了所有的说明。这很直截了当。如果您想通过嵌入式资源(因此在Xaml中)添加图像,以下是要点:

1) 将图像导入到项目中,并在属性窗口中将其设置为嵌入式资源(假设图像名为cat.png,放置在主文件夹中,程序集名为MaisonNick)

2) 在主文件夹中创建新的Xaml标记扩展

[ContentProperty (nameof(Source))]
public class ImageResourceExtension : IMarkupExtension
{
 public string Source { get; set; }

 public object ProvideValue (IServiceProvider serviceProvider)
 {
   if (Source == null)
   {
     return null;
   }

   // Do your translation lookup here, using whatever method you require
   var imageSource = ImageSource.FromResource(Source, typeof(ImageResourceExtension).GetTypeInfo().Assembly);

   return imageSource;
 }
}
3) 然后,必须引用程序集并按以下方式替换图像源:

<?xml version="1.0" encoding="UTF-8" ?>
<ContentPage
   xmlns="http://xamarin.com/schemas/2014/forms"
   xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
   xmlns:local="clr-namespace:MaisonNickel;assembly=MaisonNickel"
   x:Class="MaisonNickel.MainPage">
   <ContentPage.Content>
      <Image x:Name="cat" Source="{local:ImageResource MaisonNickel.cat.png}" Aspect="AspectFit"/>
   </ContentPage.Content>
</ContentPage>

在您的代码中,我没有看到imageResource的任何引用类,也没有看到
Source
属性


快乐编码

我不确定您是否遵循了所有的说明。这很直截了当。如果您想通过嵌入式资源(因此在Xaml中)添加图像,以下是要点:

1) 将图像导入到项目中,并在属性窗口中将其设置为嵌入式资源(假设图像名为cat.png,放置在主文件夹中,程序集名为MaisonNick)

2) 在主文件夹中创建新的Xaml标记扩展

[ContentProperty (nameof(Source))]
public class ImageResourceExtension : IMarkupExtension
{
 public string Source { get; set; }

 public object ProvideValue (IServiceProvider serviceProvider)
 {
   if (Source == null)
   {
     return null;
   }

   // Do your translation lookup here, using whatever method you require
   var imageSource = ImageSource.FromResource(Source, typeof(ImageResourceExtension).GetTypeInfo().Assembly);

   return imageSource;
 }
}
3) 然后,必须引用程序集并按以下方式替换图像源:

<?xml version="1.0" encoding="UTF-8" ?>
<ContentPage
   xmlns="http://xamarin.com/schemas/2014/forms"
   xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
   xmlns:local="clr-namespace:MaisonNickel;assembly=MaisonNickel"
   x:Class="MaisonNickel.MainPage">
   <ContentPage.Content>
      <Image x:Name="cat" Source="{local:ImageResource MaisonNickel.cat.png}" Aspect="AspectFit"/>
   </ContentPage.Content>
</ContentPage>

在您的代码中,我没有看到imageResource的任何引用类,也没有看到
Source
属性


快乐编码

Xamarin Forms Previewer有多个bug,我建议您开始签入设备…您似乎没有向图像添加源代码,您是在代码隐藏中完成的吗?如果图像组件中未设置图像源,则不会显示任何内容。如何在源中添加图像源?@MateusW。如何添加它?作为答案发布。Xamarin Forms Previewer有多个bug,我建议您开始签入设备…您似乎没有向图像添加源代码,您是在代码隐藏中进行的吗?如果图像组件中未设置图像源,则不会显示任何内容。如何在源中添加图像源?@MateusW。如何添加?将其作为答案发布。