summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Tizen/Renderers/SwitchRenderer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Renderers/SwitchRenderer.cs')
-rw-r--r--Xamarin.Forms.Platform.Tizen/Renderers/SwitchRenderer.cs27
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);
}