示例#1
0
        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);
     }
 }