title: Issue with event handler in monotouch button
body: <p>I have customized my table view cell accessory with button. Everything went fine until event handler. </p>
  
  <p>Here is my code.
  <strong>[EDIT]</strong></p>
  
  <pre><code> public class ProductTableSource: UITableViewSource
      {
          protected List&lt;Product&gt; tableItems = new List&lt;Product&gt; ();
          protected string cellIdentifier = "producdetailscell";
          private RootViewController controller;
          protected Transaction transaction; 
          public UIButton addItemButton;
          public UIImage Image;
  
  
  
          public ProductTableSource (List&lt;Product&gt; items, RootViewController controller)
          {
              this.tableItems = items;
              this.controller = controller;       
              Image = UIImage.FromFile ("Images/plus.png");
              addItemButton = UIButton.FromType(UIButtonType.Custom);
              var buttonFrame = new RectangleF (0f, 0f, Image.Size.Width, Image.Size.Height);
              addItemButton.Frame = buttonFrame;
              addItemButton.SetImage(Image, UIControlState.Normal);
              addItemButton.TouchUpInside += delegate {   
                  Console.WriteLine ("Touched");
  
              };
  
          }
  
          public void setTableItem (List&lt;Product&gt; tableItems)
          {
  
              this.tableItems = tableItems;
          }
  
          /// &lt;summary&gt;
          /// Called by the TableView to determine how many cells to create for that particular section.
          /// &lt;/summary&gt;
          public override int RowsInSection (UITableView tableview, int section)
          {
              return tableItems.Count;
          }
  
          /// &lt;summary&gt;
          /// Called when a row is touched
          /// &lt;/summary&gt;
  
          public override void AccessoryButtonTapped (UITableView tableView, NSIndexPath indexPath)
          {
  
              var prod = controller.Productdetails[indexPath.Row];
              Double amount = 1*prod.SellingPriceA;
              transaction  = new Transaction();
              transaction.SetTransaction(controller.CustomerID, prod.ID, prod.Description1,1, prod.SellingPriceA,0.0,amount);
              controller.UpdateOrderedItemsTableView();
  
          }
  
  
          /// &lt;summary&gt;
          /// Called by the TableView to get the actual UITableViewCell to render for the particular row
          /// &lt;/summary&gt;
          public override UITableViewCell GetCell (UITableView tableView, MonoTouch.Foundation.NSIndexPath indexPath)
          {
              // request a recycled cell to save memory
              UITableViewCell cell = tableView.DequeueReusableCell (cellIdentifier);
              // if there are no cells to reuse, crate a new one
              if (cell == null) {
                  cell = new UITableViewCell (UITableViewCellStyle.Default, cellIdentifier);
              }
  
              var cust = controller.Productdetails [indexPath.Row];
              cell.TextLabel.Text = cust.Description1;
  
  
              cell.AccessoryView = this.controller.addItemButton;
  
              return cell;
          }
  
  
  
      }
  </code></pre>
  
  <p>Here is Error I am getting. Not sure what is going on. Perhaps I used inappropriate  functions. Please suggestion me!!!</p>
  
  <pre><code>**Stacktrace:
  
    at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) &lt;IL 0x0009f, 0xffffffff&gt;
    at MonoTouch.UIKit.UIApplication.Main (string[],string,string) [0x0004c] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:38
    at SalesOrder.Application.Main (string[]) [0x00000] in /Users/Mac/Projects/SalesOrderPolarisnet/SalesOrder/Main.cs:17
    at (wrapper runtime-invoke) &lt;Module&gt;.runtime_invoke_void_object (object,intptr,intptr,intptr) &lt;IL 0x00050, 0xffffffff&gt;
  
  Native stacktrace:
  
      0   SalesOrder                          0x000908cc mono_handle_native_sigsegv + 284
      1   SalesOrder                          0x000056f8 mono_sigsegv_signal_handler + 248
      2   libsystem_c.dylib                   0x9613559b _sigtramp + 43
      3   ???                                 0xffffffff 0x0 + 4294967295
      4   UIKit                               0x022620e6 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 61
      5   UIKit                               0x02308ade -[UIControl sendAction:to:forEvent:] + 66
      6   UIKit                               0x02308fa7 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 503
      7   UIKit                               0x02307d8a -[UIControl touchesBegan:withEvent:] + 264
      8   UIKit                               0x02523a1a _UIGestureRecognizerUpdate + 6725
      9   CoreFoundation                      0x011b099e __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 30
      10  CoreFoundation                      0x01147640 __CFRunLoopDoObservers + 384
      11  CoreFoundation                      0x011134c6 __CFRunLoopRun + 1174
      12  CoreFoundation                      0x01112d84 CFRunLoopRunSpecific + 212
      13  CoreFoundation                      0x01112c9b CFRunLoopRunInMode + 123
      14  GraphicsServices                    0x048307d8 GSEventRunModal + 190
      15  GraphicsServices                    0x0483088a GSEventRun + 103
      16  UIKit                               0x0225f626 UIApplicationMain + 1163
      17  ???                                 0x0d4d41f4 0x0 + 223166964
      18  ???                                 0x0d4d2f50 0x0 + 223162192
      19  ???                                 0x0d4d27c0 0x0 + 223160256
      20  ???                                 0x0d4d284f 0x0 + 223160399
      21  SalesOrder                          0x00009ab2 mono_jit_runtime_invoke + 722
      22  SalesOrder                          0x0016b34e mono_runtime_invoke + 126
      23  SalesOrder                          0x0016f4d4 mono_runtime_exec_main + 420
      24  SalesOrder                          0x001748c5 mono_runtime_run_main + 725
      25  SalesOrder                          0x00066cb5 mono_jit_exec + 149
      26  SalesOrder                          0x00203911 main + 2209
      27  SalesOrder                          0x00002ab5 start + 53
  
  =================================================================
  Got a SIGSEGV while executing native code. This usually indicates
  a fatal error in the mono runtime or one of the native libraries 
  used by your application.
  =================================================================**
  </code></pre>