首页 > 解决方案 > 如何使用渲染器为表单中的条目控件设置透明边框颜色

问题描述

我正在使用入口控件,我需要一个透明的边框颜色,所以使用渲染来实现相同的效果,但总是显示一个边框。如何克服这一点。

   <local:EntryExt Text="1500"></local:EntryExt>

   public class EntryExt : Entry
   {

   }

  public class EntryExtRenderer : EntryRenderer
  {
    protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
    {
        base.OnElementChanged(e);
        if (Control != null)
        {
            Control.Layer.BorderColor = UIColor.Clear.CGColor;
            Control.Layer.BorderWidth = 0;
        }

    }
  }

标签: xamarin.formsxamarin.iosborder

解决方案


如果要删除边框,可以将 设置BorderStyleUITextBorderStyle.None

[assembly: ExportRenderer(typeof(Entry), typeof(MyEntryRenderer))]
namespace App650.iOS
{
    public class MyEntryRenderer : EntryRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                // do whatever you want to the UITextField here!
                Control.Layer.BorderColor = UIColor.Clear.CGColor;
                Control.Layer.BorderWidth = 0;
                Control.BorderStyle = UITextBorderStyle.None;
            }
        }
    }
}

推荐阅读