这似乎是一件非常容易的事,理论上看起来非常直接:
或至少那是我几乎到处读的东西,但我仍然无法让它发挥作用。
我的XAML看起来像这样:
<?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:CrossBaiscs"
x:Class="CrossBaiscs.MainPage">
<ContentPage.Content>
<StackLayout BackgroundColor="Orange">
<Label Text="Welcome to Xamarin.Forms!"
TextColor="White"
VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand" />
<Image VerticalOptions="CenterAndExpand"
HorizontalOptions="Center"
Source="logo1.png"/>
</StackLayout>
</ContentPage.Content>
</ContentPage>
我在资产目录中添加了图像:
我在Iphone 6上使用Xamarin Live Player进行测试,而且我看不到Label下的任何图像。
所以...我错过了什么?
修改
适合这个人:Is it possible to use Image Set in a Xamarin Forms
但不适合我,我确实尝试删除.png扩展名并将xaml保留为:
<?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:CrossBaiscs"
x:Class="CrossBaiscs.MainPage">
<ContentPage.Content>
<StackLayout BackgroundColor="Orange">
<Label Text="Welcome to Xamarin.Forms!"
TextColor="White"
VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand" />
<Image VerticalOptions="CenterAndExpand"
HorizontalOptions="Center"
Source="logo1"/>
</StackLayout>
</ContentPage.Content>
</ContentPage>
仍然无效。 尝试清理构建文件夹并删除bin / obj文件夹,但仍然没有。
尝试将资源添加到Resources文件夹并从资产目录中删除图像集:
仍然无效。
想法?
编辑2
我将这3张图片留在了资源文件夹上,并在XAML上添加了扩展名.png并且它有效,但仍然很高兴知道如何使用资产目录来完成它。
答案 0 :(得分:1)
不要在XAML
中使用.png
扩展名
<Image VerticalOptions="CenterAndExpand"
HorizontalOptions="Center"
Source="logo1"/>
答案 1 :(得分:1)
只是指出一些可能显而易见但却引起我多年问题的事情 - 您无法使用资产目录附带的LaunchImages集,因为它没有资格在图像下拉列表中列出。您必须创建一个新的图像集。
在我这样做之后,以下答案突然起作用了(之前没有的地方):
答案 2 :(得分:1)
在Xamarin文档中,他们已明确提到 - 在iOS上,无法从资产目录图像集中的图像填充Page.Icon属性。而是从iOS项目的Resources文件夹中加载Page.Icon属性的图标图像。
答案 3 :(得分:0)
我们在iPhone上的Xamarin Live Player上进行了测试,结果表明尚不支持资产目录。 (https://twitter.com/praeclarum/status/941775333753217025?s=08)
感谢您的答复!