如何在整个应用程序中覆盖不同条目的渲染器?

时间:2019-07-19 22:00:30

标签: c# xamarin xamarin.forms types

我正在为应用程序的两个不同的自定义Entry LoginEntry和一个CommonEntry设置不同的设计,并且我希望能够针对这两种不同的方案覆盖渲染器整个应用程序中的不同设计。

我尝试了以下代码,但是LoginEntry的类型错误,对此上下文无效。

protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{    
    base.OnElementChanged(e);

    if (e.OldElement != null) return;

    if (e.NewElement == LoginEntry)
    {
        UpdateEntryStyle();
    }
}

Bug Error

1 个答案:

答案 0 :(得分:2)

C#中的==运算符用于大多数值(对于intchar之类的原始类型)或引用(对于对象)的比较。正如您在示例中尝试的那样,它不能用于将对象与类型进行比较。

在尝试比较类型时,您应该进行类型检查,here中说明了哪些方法。