Remove borders on custom Entry & Editor for Xamarin Forms UWP

断了今生、忘了曾经 提交于 2020-08-10 19:12:46

问题


I am currently working with a UWP project in Xamarin Forms.

When i use the default Entry & Editor, it comes with a border that i wish to remove as well as add a rounded background.

I have setup the renderer and some code, but the border is still intact.

[assembly: ExportRenderer(typeof(Xamarin.Forms.Entry), typeof(MyRenderer))]
namespace App1.UWP
{
class MyRenderer : SearchBarRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
    {
        base.OnElementChanged(e);

        if(Control != null)
        {
            Control.Background = null;
        }
    }
}

}


回答1:


Entry

Simply set BorderThickness in custom renderer .

[assembly: ExportRenderer(typeof(Xamarin.Forms.Entry), typeof(MyRenderer))]
namespace App1.UWP
{
    class MyRenderer : EntryRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
        {
            base.OnElementChanged(e);

            if(Control != null)
            {   
                Control.BorderThickness = new Windows.UI.Xaml.Thickness(0);
            }
        }
    }
}

Editor :

It's weird that EditorRenderer of Editor does not work (OnElementChanged not trigger) , we have to subclass Editor and create custom renderer for the new class .

Forms
public class MyEditor : Editor
{

}


//xaml

xmlns:local="clr-namespace:App1"
<local:MyEditor/>
Custom renderer
[assembly: ExportRenderer(typeof(MyEditor), typeof(MyRenderer))]
namespace App1.UWP
{
    class MyRenderer : EditorRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Editor> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                Control.BorderThickness = new Windows.UI.Xaml.Thickness(0);
            }
        }
    }
}


来源:https://stackoverflow.com/questions/63046396/remove-borders-on-custom-entry-editor-for-xamarin-forms-uwp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!