首页 > 解决方案 > Xamarin.MacOS 的图像按钮

问题描述

Xamarin.MacOS 中是否有图像按钮渲染器?我正在使用 Xamarin.Forms,我在公共代码中的所有图像按钮都没有在 Xamarin.MacOS 中显示。Xamarin.MacOS 中是否支持图像按钮?

标签: xamarin.formsimagebutton

解决方案


Xamarin.MacOS 中是否有图像按钮渲染器?

不幸的是,在检查了Xamarin.Forms.Platform.macOS的源代码后,现在没有ImageButtonRenderer。我想没有控制的原因与ImageButton. 我不确定设计师将来是否会添加这个。无论如何,现在它不存在了。

Xamarin.MacOS 中是否支持图像按钮?

综上所述,MacOS无法像ImageButtonForms 那样进行控制。因此,如果在 Xamarin Froms 中使用 ImageButton,它将不会在 Xamarin.MacOS 中显示。

但是,有一种解决方法。您可以Button在 Forms 中使用,并ButtonRenderer在 Xamarin.MacOS 中添加 Image。因为NSButton有一个Image 属性

例如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_ _ _


推荐阅读