diff options
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Renderers/SwitchRenderer.cs')
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Renderers/SwitchRenderer.cs | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/SwitchRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/SwitchRenderer.cs index e0b54d51..5c6814ab 100644 --- a/Xamarin.Forms.Platform.Tizen/Renderers/SwitchRenderer.cs +++ b/Xamarin.Forms.Platform.Tizen/Renderers/SwitchRenderer.cs @@ -17,25 +17,26 @@ namespace Xamarin.Forms.Platform.Tizen { if (Control == null) { - var _switch = new Check(Forms.Context.MainWindow) + SetNativeControl(new Check(Forms.Context.MainWindow) { PropagateEvents = false, Style = SwitchStyle.Toggle - }; - SetNativeControl(_switch); - } - - if (e.OldElement != null) - { - Control.StateChanged -= CheckChangedHandler; + }); + Control.StateChanged += OnStateChanged; } + base.OnElementChanged(e); + } - if (e.NewElement != null) + protected override void Dispose(bool disposing) + { + if (disposing) { - Control.StateChanged += CheckChangedHandler; + if (Control != null) + { + Control.StateChanged -= OnStateChanged; + } } - - base.OnElementChanged(e); + base.Dispose(disposing); } protected override void UpdateThemeStyle() @@ -59,7 +60,7 @@ namespace Xamarin.Forms.Platform.Tizen ((IVisualElementController)Element).NativeSizeChanged(); } - void CheckChangedHandler(object sender, EventArgs e) + void OnStateChanged(object sender, EventArgs e) { Element.SetValue(Switch.IsToggledProperty, Control.IsChecked); } |