diff options
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Renderers/PickerRenderer.cs')
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Renderers/PickerRenderer.cs | 39 |
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(); } |