summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Tizen/Renderers/TableViewRenderer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Renderers/TableViewRenderer.cs')
-rw-r--r--Xamarin.Forms.Platform.Tizen/Renderers/TableViewRenderer.cs22
1 files changed, 16 insertions, 6 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/TableViewRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/TableViewRenderer.cs
index c1a37916..58b17a4b 100644
--- a/Xamarin.Forms.Platform.Tizen/Renderers/TableViewRenderer.cs
+++ b/Xamarin.Forms.Platform.Tizen/Renderers/TableViewRenderer.cs
@@ -17,20 +17,18 @@ namespace Xamarin.Forms.Platform.Tizen
{
if (Control == null)
{
- var _tableView = new Native.TableView(Forms.Context.MainWindow);
- SetNativeControl(_tableView);
+ SetNativeControl(new Native.TableView(Forms.Context.MainWindow));
+ Control.ItemSelected += OnSelected;
}
if (e.OldElement != null)
{
- Control.ItemSelected -= ListViewItemSelectedHandler;
e.OldElement.ModelChanged -= OnRootPropertyChanged;
}
if (e.NewElement != null)
{
e.NewElement.ModelChanged += OnRootPropertyChanged;
- Control.ItemSelected += ListViewItemSelectedHandler;
Control.ApplyTableRoot(e.NewElement.Root);
}
@@ -39,11 +37,23 @@ namespace Xamarin.Forms.Platform.Tizen
protected override void Dispose(bool disposing)
{
- Element.ModelChanged -= OnRootPropertyChanged;
+ if (disposing)
+ {
+ if (Element != null)
+ {
+ Element.ModelChanged -= OnRootPropertyChanged;
+ }
+
+ if (Control != null)
+ {
+ Control.ItemSelected -= OnSelected;
+ }
+ }
+
base.Dispose(disposing);
}
- void ListViewItemSelectedHandler(object sender, GenListItemEventArgs e)
+ void OnSelected(object sender, GenListItemEventArgs e)
{
var item = e.Item as GenListItem;