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