Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.6k views
in Technique[技术] by (71.8m points)

xamarin.forms - How to set transparent border color for entry control in forms using renderer

Am using entry control and I need a transparent border color, so used render to achieve the same, but a border is always displayed. How to overcome this.

   <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;
        }

    }
  }
question from:https://stackoverflow.com/questions/65885877/how-to-set-transparent-border-color-for-entry-control-in-forms-using-renderer

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

If you want to remove the border, you can set the BorderStyle to UITextBorderStyle.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;
            }
        }
    }
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...