我们正在使用Xamarin.Forms和ImageButton的Xamarin.Forms.Labs组件。这是iOS。
由于某种原因,ImageButton正在改变我们想要在控件中使用的图像的颜色。标准的Button组件也是如此,但Image组件工作正常。
在图像中,您可以看到我们如何将相同的文件加载到Image,ImageButton和Button视图中,您可以看到Image one是正确的,但其他两个从红色变为蓝色。
知道如何让ImageButton或Button组件显示原始图像而不改变颜色吗?
摘录:
// wrong colors
var addPins = new ImageButton() {
Image = (FileImageSource) ImageSource.FromFile("Marker.png"),
HorizontalOptions = LayoutOptions.End,
VerticalOptions = LayoutOptions.Center,
ImageHeightRequest = 50,
ImageWidthRequest = 50,
HeightRequest = 50,
WidthRequest = 50
};
// good colors
var addPins2 = new Image {
Source = ImageSource.FromFile ("Marker.png"),
HeightRequest = 50,
WidthRequest = 50,
HorizontalOptions = LayoutOptions.End,
VerticalOptions = LayoutOptions.Center
};
// wrong colors
var addPins3 = new Button {
Image = new FileImageSource { File = "Marker.png"} ,
HorizontalOptions = LayoutOptions.End,
VerticalOptions = LayoutOptions.Center,
HeightRequest = 50,
WidthRequest = 50
};
grid.Children.Add (addPins, 1, 2);
grid.Children.Add (addPins2, 1, 1);
grid.Children.Add (addPins3, 1, 0);
示例结果: