图片来自ImageSource
Image from ImageSource
我尝试按照@CraigDunn 的following example 示例代码
someButton.Image = ImageSource.FromFile("imageName.png");
我自己的尝试是这样的:
_NavBarPrevPage = new Button
{
Image = ImageSource.FromResource("media_step_back.png")),
BackgroundColor = Color.Red,
TextColor = Color.White,
};
对我来说,IDE 告诉我:
The type Xamarin.Forms.ImageSource can't be converted to Xamarin.Forms.FileImageSource. An explicit conversion exists. Perhaps a conversion is missing.
我想我正在做@CraigDunn 提议的事情。
我做错了什么?
我已经尝试了以下方法,我能够摆脱当前答案中的转换错误,但是图像没有显示在按钮上,而是显示在图像中,所以文件名正确:
var nImg = new FileImageSource()
{
File = "media_step_back.png",
};
_NavBarPrevPage = new Button
{
Image =nImg,
};
如果您需要的是通过代码隐藏实现的带有图像的按钮:
Button button = new Button
{
BackgroundColor = Color.Red,
Font = Font.Default,
FontSize = 10,
TextColor = Color.White,
HeightRequest = 35,
WidthRequest = 80
};
button.Image = "media_step_back.png";
this.Content = button;
请记住将图像文件 (media_step_back.png) 放在目标平台的资源文件夹中
更新:
你的问题是你没有在 属性 文件夹和目标平台的资源文件夹 中添加图像源(请注意,在下面的示例中,我添加了一个 xamarin.png 每个 Xamarin "Property" 文件夹中的图像,Android 的 "Resource" 和 iOS 的 "Resource" 文件夹)
下面是我将按钮放入 StackLayout 中的更新代码(如果没有 StackLayout 也可以工作):
public class MainPageNew : ContentPage
{
public MainPageNew()
{
StackLayout parent = new StackLayout();
Button button = new Button
{
BackgroundColor = Color.Red,
Font = Font.Default,
FontSize = 10,
TextColor = Color.White,
HeightRequest = 300,
WidthRequest = 80
};
//button.Image = "media_step_back.png";
button.Image = "xamarin.png";
parent.Children.Add(button);
this.Content = parent;
}
Android
iOS:
This是更新代码的下载link。
我尝试按照@CraigDunn 的following example 示例代码
someButton.Image = ImageSource.FromFile("imageName.png");
我自己的尝试是这样的:
_NavBarPrevPage = new Button
{
Image = ImageSource.FromResource("media_step_back.png")),
BackgroundColor = Color.Red,
TextColor = Color.White,
};
对我来说,IDE 告诉我:
The type Xamarin.Forms.ImageSource can't be converted to Xamarin.Forms.FileImageSource. An explicit conversion exists. Perhaps a conversion is missing.
我想我正在做@CraigDunn 提议的事情。 我做错了什么?
我已经尝试了以下方法,我能够摆脱当前答案中的转换错误,但是图像没有显示在按钮上,而是显示在图像中,所以文件名正确:
var nImg = new FileImageSource()
{
File = "media_step_back.png",
};
_NavBarPrevPage = new Button
{
Image =nImg,
};
如果您需要的是通过代码隐藏实现的带有图像的按钮:
Button button = new Button
{
BackgroundColor = Color.Red,
Font = Font.Default,
FontSize = 10,
TextColor = Color.White,
HeightRequest = 35,
WidthRequest = 80
};
button.Image = "media_step_back.png";
this.Content = button;
请记住将图像文件 (media_step_back.png) 放在目标平台的资源文件夹中
更新:
你的问题是你没有在 属性 文件夹和目标平台的资源文件夹 中添加图像源(请注意,在下面的示例中,我添加了一个 xamarin.png 每个 Xamarin "Property" 文件夹中的图像,Android 的 "Resource" 和 iOS 的 "Resource" 文件夹)
下面是我将按钮放入 StackLayout 中的更新代码(如果没有 StackLayout 也可以工作):
public class MainPageNew : ContentPage
{
public MainPageNew()
{
StackLayout parent = new StackLayout();
Button button = new Button
{
BackgroundColor = Color.Red,
Font = Font.Default,
FontSize = 10,
TextColor = Color.White,
HeightRequest = 300,
WidthRequest = 80
};
//button.Image = "media_step_back.png";
button.Image = "xamarin.png";
parent.Children.Add(button);
this.Content = parent;
}
Android
iOS:
This是更新代码的下载link。