问题描述
Xamarin.MacOS中是否有图像按钮渲染器? 我正在使用Xamarin.Forms,并且Xamarin.MacOS中根本不显示通用代码中的所有图像按钮。 Xamarin.MacOS支持图像按钮吗?
解决方法
Xamarin.MacOS中是否有图像按钮渲染器?
很遗憾,在检查了 Xamarin.Forms.Platform.macOS 的源代码之后,现在没有ImageButtonRenderer
。我猜没有控制的原因与ImageButton
类似。我不确定设计者将来是否会添加。无论如何,现在不存在。
Xamarin.MacOS是否支持图像按钮?
如上所述, MacOS 没有像ImageButton
那样的Forms控件。因此,如果在Xamarin Froms中使用ImageButton,它将不会在Xamarin.MacOS中显示。
但是,有一种解决方法。您可以在Forms中使用Button
,并在Xamarin.MacOS的ButtonRenderer
中添加Image。因为NSButton
有一个Image property。
例如,ButtonRenderer的代码如下:
[assembly: ExportRenderer (typeof(MyButton),typeof(MyButtonRenderer))]
namespace CustomRenderer.MacOS
{
public class MyButtonRenderer : ButtonRenderer
{
protected override void OnElementChanged (ElementChangedEventArgs<Button> e)
{
base.OnElementChanged (e);
if (Control != null) {
// do whatever you want to the UITextField here!
Control.Image= NSImage.ImageNamed("tree")
Control.ImageScaling = NSImageScale.AxesIndependently;
}
}
}
}
图像源(tree.png
)与iOS相同,可以添加到资源文件夹中,并设置 Propertied:构建操作-> BundleResource 。