【发布时间】:2022-01-20 16:17:48
【问题描述】:
我是 Xamarin-Forms 的新手,正在开发登录表单并使用 Material Design (IVisual)。我创建了一个自定义的 Entry 类并使用MaterialEntryRenderer 继承它来自定义它。
我想要实现的是删除下划线Entry have。我看过很多例子,但他们都使用EntryRenderer。
public class CustomEntryRenderer : MaterialEntryRenderer
{
public CustomEntryRenderer(Context context) : base(context) { }
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);
if (Control != null)
{
Control.Background = null;
Control.SetBackgroundColor(Android.Graphics.Color.Transparent);
}
}
}
它适用于EntryRenderer,但不适用于MaterialEntryRenderer。
【问题讨论】:
-
您可以使用Effect 来执行此操作,请阅读链接中的Why Use an Effect over a Custom Renderer? 部分
-
从 2020 年开始,可以尝试 Xamarin 社区工具包中的 RemoveBorderEffect。
标签: xamarin xamarin.forms