summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Tizen/Renderers/PickerRenderer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Renderers/PickerRenderer.cs')
-rw-r--r--Xamarin.Forms.Platform.Tizen/Renderers/PickerRenderer.cs39
1 files changed, 21 insertions, 18 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/PickerRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/PickerRenderer.cs
index a8356baf..65f95ff3 100644
--- a/Xamarin.Forms.Platform.Tizen/Renderers/PickerRenderer.cs
+++ b/Xamarin.Forms.Platform.Tizen/Renderers/PickerRenderer.cs
@@ -12,26 +12,29 @@ namespace Xamarin.Forms.Platform.Tizen
internal Native.Dialog _dialog;
Dictionary<ListItem, int> _itemToItemNumber = new Dictionary<ListItem, int>();
- protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
+ protected override void Dispose(bool disposing)
{
- if (Control == null)
- {
- var button = new Native.Button(Forms.Context.MainWindow);
- SetNativeControl (button);
- }
-
- if (e.OldElement != null)
+ if (disposing)
{
- Control.Clicked -= OnClick;
+ if (Control != null)
+ {
+ Control.Clicked -= OnClicked;
+ CleanView();
+ }
}
+ base.Dispose(disposing);
+ }
- if (e.NewElement != null)
+ protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
+ {
+ if (Control == null)
{
- UpdateSelectedIndex();
- UpdateTextColor();
- Control.Clicked += OnClick;
+ SetNativeControl (new Native.Button(Forms.Context.MainWindow));
+ Control.Clicked += OnClicked;
}
+ UpdateSelectedIndex();
+ UpdateTextColor();
base.OnElementChanged(e);
}
@@ -60,7 +63,7 @@ namespace Xamarin.Forms.Platform.Tizen
Control.TextColor = Element.TextColor.ToNative();
}
- void OnClick(object sender, EventArgs e)
+ void OnClicked(object sender, EventArgs e)
{
int i = 0;
_dialog = new Native.Dialog(Forms.Context.MainWindow);
@@ -69,7 +72,7 @@ namespace Xamarin.Forms.Platform.Tizen
_dialog.AlignmentY = -1;
_dialog.Title = Element.Title;
- _dialog.Dismissed += DialogDismissed;
+ _dialog.Dismissed += OnDialogDismissed;
_dialog.BackButtonPressed += (object senders, EventArgs es) =>
{
_dialog.Dismiss();
@@ -81,20 +84,20 @@ namespace Xamarin.Forms.Platform.Tizen
_itemToItemNumber[item] = i;
i++;
}
- _list.ItemSelected += ItemSelected;
+ _list.ItemSelected += OnItemSelected;
_dialog.Content = _list;
_dialog.Show();
_list.Show();
}
- void ItemSelected(object senderObject, EventArgs ev)
+ void OnItemSelected(object senderObject, EventArgs ev)
{
Element.SelectedIndex = _itemToItemNumber[(senderObject as List).SelectedItem];
_dialog.Dismiss();
}
- void DialogDismissed(object sender, EventArgs e)
+ void OnDialogDismissed(object sender, EventArgs e)
{
CleanView();
}