private void OnTableRowSelected(NSIndexPath itemIndexPath) { var item = _items.ElementAt(itemIndexPath.Row); var label = _labelFunc(item); TableRowSelected?.Invoke(this, new TableRowSelectedEventArgs <T>(item, label, itemIndexPath)); }
/// <summary> /// Handle the table row selection. /// </summary> /// <param name="itemIndexPath">Item index path.</param> private void OnTableRowSelected(NSIndexPath itemIndexPath) { try { if (_specialSettings.Count > 0 && itemIndexPath.Section == 0 && ShouldShowSpecialItems && !_items.Any()) { var specialItem = _specialSettings[itemIndexPath.Row]; TableRowSelected?.Invoke(this, new TableRowSelectedEventArgs <string>(specialItem, itemIndexPath)); } else { var item = _items.ElementAt(itemIndexPath.Row); TableRowSelected?.Invoke(this, new TableRowSelectedEventArgs <string>(item.Label, itemIndexPath)); } } catch (Exception ex) { ErrorLogger.Instance.LogException(ex); } }