diff options
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Renderers/SliderRenderer.cs | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/SliderRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/SliderRenderer.cs index db725830..162409b1 100644 --- a/Xamarin.Forms.Platform.Tizen/Renderers/SliderRenderer.cs +++ b/Xamarin.Forms.Platform.Tizen/Renderers/SliderRenderer.cs @@ -1,4 +1,5 @@ using System; +using System.ComponentModel; using ESlider = ElmSharp.Slider; using ESize = ElmSharp.Size; @@ -6,14 +7,6 @@ namespace Xamarin.Forms.Platform.Tizen { public class SliderRenderer : ViewRenderer<Slider, ESlider> { - - public SliderRenderer() - { - RegisterPropertyHandler(Slider.ValueProperty, UpdateValue); - RegisterPropertyHandler(Slider.MinimumProperty, UpdateMinimum); - RegisterPropertyHandler(Slider.MaximumProperty, UpdateMaximum); - } - protected override void OnElementChanged(ElementChangedEventArgs<Slider> e) { if (Control == null) @@ -24,9 +17,29 @@ namespace Xamarin.Forms.Platform.Tizen }); Control.ValueChanged += OnValueChanged; } + UpdateMinimum(); + UpdateMaximum(); + UpdateValue(); base.OnElementChanged(e); } + protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) + { + if (e.PropertyName == Slider.MinimumProperty.PropertyName) + { + UpdateMinimum(); + } + else if (e.PropertyName == Slider.MaximumProperty.PropertyName) + { + UpdateMaximum(); + } + else if (e.PropertyName == Slider.ValueProperty.PropertyName) + { + UpdateValue(); + } + base.OnElementPropertyChanged(sender, e); + } + protected override void Dispose(bool disposing) { if (disposing) |