eh(bindable, new ToggledEventArgs((bool)newValue));
}, defaultBindingMode: BindingMode.TwoWay);
- public static readonly BindableProperty OnColorProperty = BindableProperty.Create(nameof(OnColor), typeof(Color), typeof(Slider), Color.Default);
+ public static readonly BindableProperty OnColorProperty = BindableProperty.Create(nameof(OnColor), typeof(Color), typeof(Switch), Color.Default);
public Color OnColor
{
if (Element != null)
Element.Toggled -= HandleToggled;
- Control.SetOnCheckedChangeListener(null);
+ Control?.SetOnCheckedChangeListener(null);
+
+ _defaultTrackDrawable?.Dispose();
+ _defaultTrackDrawable = null;
}
base.Dispose(disposing);
}
else
{
- Control.TrackDrawable.SetColorFilter(Element.OnColor.ToAndroid(), PorterDuff.Mode.Multiply);
+ Control.TrackDrawable?.SetColorFilter(Element.OnColor.ToAndroid(), PorterDuff.Mode.Multiply);
}
}
else
{
- Control.TrackDrawable.ClearColorFilter();
+ Control.TrackDrawable?.ClearColorFilter();
}
}
Element.Toggled -= HandleToggled;
Control.SetOnCheckedChangeListener(null);
+
+ _defaultTrackDrawable.Dispose();
+ _defaultTrackDrawable = null;
}
base.Dispose(disposing);
{
if (Build.VERSION.SdkInt >= BuildVersionCodes.JellyBean)
{
- Control.TrackDrawable.SetColorFilter(Element.OnColor.ToAndroid(), PorterDuff.Mode.Multiply);
+ Control.TrackDrawable?.SetColorFilter(Element.OnColor.ToAndroid(), PorterDuff.Mode.Multiply);
}
}
}
else
{
- Control.TrackDrawable.ClearColorFilter();
+ Control.TrackDrawable?.ClearColorFilter();
}
}
}