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