2016-04-21 3 views
1

Итак, я получаю эти ошибки в своем классе CustomSwitchRenderer, который находится в SalesKicker.Droid. Вот ошибки:Xamarin - Customrenderer получает 2 ошибки

OnElementCHanged (ElementChangedEventArgs е): нет подходящего способа найдено переопределить

и

Android.Widget.Switch не может быть использован в качестве параметра станда 'TElement' в типе genericc или методе ElementChangedEventArgs 'Нет никакого неявного преобразования ссылок из Widget.Switch в Forms.Element

Я очень смущен, так как это сработало раньше, но я не знаю, что я делаю неправильно здесь. Вот мой класс:

public class CustomSwitchRenderer : SwitchRenderer 
{ 
    protected override void OnElementChanged(ElementChangedEventArgs<Switch> e) 
    { 
     base.OnElementChanged(e); 

     if (Control != null) 
     { 
      Control.TextOn = "AAN"; 
      Control.TextOff = "UIT"; 

      Color colorON = Color.Green; 
      Color colorOFF = Color.Red; 

      Control.SetTextColor(Color.Black); 

      StateListDrawable drawable = new StateListDrawable(); 

      drawable.AddState(new int[] 
       { 
        Android.Resource.Attribute.StateChecked 
       }, new ColorDrawable(colorON)); 
      drawable.AddState(new int[] 
       { 

       }, new ColorDrawable(colorOFF)); 

      Control.ThumbDrawable = drawable; 
     } 
    } 
} 

И да, я также добавил эту строку:

using Switch = Android.Widget.Switch 

И это Ofcourse:

[assembly:ExportRenderer(typeof(Switch), typeof(CustomSwitchRenderer))] 

Может кто-нибудь сказать мне, что я делаю неправильно здесь ?

ответ

2

Вам нужно using Switch = Xamarin.Forms.Switch вместо using Switch = Android.Widget.Switch

+0

Ну, это было быстро! Спасибо! –

+0

UPDATE: переключатель не отображается в моем приложении, что здесь происходит неправильно? –

Смежные вопросы