diff options
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Renderers/DatePickerRenderer.cs')
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Renderers/DatePickerRenderer.cs | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/DatePickerRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/DatePickerRenderer.cs index 2fa86a57..39a25295 100644 --- a/Xamarin.Forms.Platform.Tizen/Renderers/DatePickerRenderer.cs +++ b/Xamarin.Forms.Platform.Tizen/Renderers/DatePickerRenderer.cs @@ -25,19 +25,10 @@ namespace Xamarin.Forms.Platform.Tizen }; entry.SetVerticalTextAlignment("elm.text", 0.5); entry.AllowFocus(false); + entry.Clicked += OnEntryClicked; SetNativeControl(entry); } - if (e.OldElement != null) - { - Control.Clicked -= ClickedHandler; - } - - if (e.NewElement != null) - { - Control.Clicked += ClickedHandler; - } - base.OnElementChanged(e); } @@ -46,7 +37,19 @@ namespace Xamarin.Forms.Platform.Tizen return Control.Measure(Control.MinimumWidth, Control.MinimumHeight).ToDP(); } - void ClickedHandler(object sender, EventArgs e) + protected override void Dispose(bool disposing) + { + if (disposing) + { + if (Control != null) + { + Control.Clicked -= OnEntryClicked; + } + } + base.Dispose(disposing); + } + + void OnEntryClicked(object sender, EventArgs e) { Native.DateTimePickerDialog dialog = new Native.DateTimePickerDialog(Forms.Context.MainWindow) { @@ -54,22 +57,22 @@ namespace Xamarin.Forms.Platform.Tizen }; dialog.InitializeDatePicker(Element.Date, Element.MinimumDate, Element.MaximumDate); - dialog.DateTimeChanged += DialogDateTimeChangedHandler; - dialog.Dismissed += DialogDismissedHandler; + dialog.DateTimeChanged += OnDateTimeChanged; + dialog.Dismissed += OnDialogDismissed; dialog.Show(); } - void DialogDateTimeChangedHandler(object sender, Native.DateChangedEventArgs dcea) + void OnDateTimeChanged(object sender, Native.DateChangedEventArgs dcea) { Element.Date = dcea.NewDate; Control.Text = dcea.NewDate.ToString(Element.Format); } - void DialogDismissedHandler(object sender, EventArgs e) + void OnDialogDismissed(object sender, EventArgs e) { var dialog = sender as Native.DateTimePickerDialog; - dialog.DateTimeChanged -= DialogDateTimeChangedHandler; - dialog.Dismissed -= DialogDismissedHandler; + dialog.DateTimeChanged -= OnDateTimeChanged; + dialog.Dismissed -= OnDialogDismissed; } void UpdateDate() |