Xaml 带有图像Xamarin.Forms的按钮
我正在用Xamarin.Forms开发一个跨pltform应用程序。我想制作一个带有图像的按钮,但我不知道如何指定图像的路径。当我使用此注释时,它会起作用:Xaml 带有图像Xamarin.Forms的按钮,xaml,xamarin,xamarin.forms,Xaml,Xamarin,Xamarin.forms,我正在用Xamarin.Forms开发一个跨pltform应用程序。我想制作一个带有图像的按钮,但我不知道如何指定图像的路径。当我使用此注释时,它会起作用: <Button Text="Naviga tra i Piani del Museo" Image="foo.png"/> 但当我的图像位于某些文件夹(folder1/folder2)中时,以下代码不起作用: <Button Text="Naviga tra i Piani del Museo" Image="fol
<Button Text="Naviga tra i Piani del Museo" Image="foo.png"/>
但当我的图像位于某些文件夹(folder1/folder2)中时,以下代码不起作用:
<Button Text="Naviga tra i Piani del Museo" Image="folder1/folder2/foo.png"/>
那么,如何正确指定图像的路径呢?您不能将图像嵌套在文件夹中。iOS和Android希望它们是资源,WP希望它们位于应用程序的根文件夹中
Xamarin表单文档中有一节介绍 您应该在OnPlatform标记中指定按钮的图像属性,以便为每个平台提供不同的路径。这是长方体视图的示例,您可以为按钮图像属性尝试相同的方法
<BoxView HorizontalOptions="Center">
<BoxView.Color>
<OnPlatform x:TypeArguments="Color"
iOS="Green"
Android="#738182"
WinPhone="Accent" />
</BoxView.Color>
<BoxView.WidthRequest>
<OnPlatform x:TypeArguments="x:Double"
iOS="30"
Android="40"
WinPhone="50" />
</BoxView.WidthRequest>
</BoxView>
使用PCL保持图像公用是一项困难的任务。 所以要分开做
请记住,在android项目中,您必须将图像复制到Resources>drawable。以使用Xamarin的文件夹。表单项目这对我来说很有用 您需要将资源(本例中为图像文件)放入Xamarin.Form项目中的文件夹(本例中的文件夹称为“资产”),并将构建操作设置为“内容” 其次,要让资源与Android协同工作,您需要将文件放在Android项目中的resources>drawable文件夹中(在这里您不能使用任何文件夹),设置构建操作“AndroidResource”
请注意,对于iOs,您需要使用“/”创建路径;对于WinPhone/UWP,您需要使用“\”创建路径。因此,如果您有100个图像,您可以将它们全部放在同一个文件夹中?不幸的是,我认为这就是XF当前状态的答案。希望将来会更灵活。
<ContentPage.Resources>
<ResourceDictionary>
<OnPlatform x:Key="StartButtonImage"
x:TypeArguments="FileImageSource"
Android="button_image.png"
WinPhone="Assets\button_image.png"
iOS="Assets/button_image.png"/>
</ResourceDictionary>
</ContentPage.Resources>
<ContentPage.Content>
<Grid>
<Button Image="{StaticResource StartButtonImage}" BackgroundColor="Transparent"/>
</Grid>
</ContentPage.Content>