title: How to pass event from ViewCell to parent object, where ListView is placed
body: <p>I want to handle the events from the cell within the parent object. This is the XAML of the parent object:</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;StackLayout xmlns="http://xamarin.com/schemas/2014/forms"
               xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
               x:Class="App.Views.SomeView"
               xmlns:customViews="clr-namespace:App.Views;assembly=App"
               VerticalOptions="FillAndExpand"&gt;
  
    &lt;ListView x:Name="MyList"
              HasUnevenRows="True"
              CachingStrategy="RecycleElement"&gt;
  
      &lt;ListView.ItemTemplate&gt;
        &lt;DataTemplate&gt;
          &lt;customViews:CustomListItem/&gt;
        &lt;/DataTemplate&gt;
      &lt;/ListView.ItemTemplate&gt;
    &lt;/ListView&gt;
  &lt;/StackLayout&gt;
  </code></pre>
  
  <p>As you can see I have a custom cell defined in my data template. The cell itselfs looks something like this:</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;ViewCell xmlns="http://xamarin.com/schemas/2014/forms"
            xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
            x:Class="App.Views.CustomListItem"&gt;
  
      &lt;Image x:Name="infoButton" Aspect="AspectFit" VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" /&gt;
  
  &lt;/ViewCell&gt;
  </code></pre>
  
  <p>In the code behind file I add a tap recognizer to the image:</p>
  
  <pre class="lang-cs prettyprint-override"><code>public partial class CustomListItem : ViewCell
  {
      private TapGestureRecognizer onIconTapppedRecognizer;
  
      public CustomListItem()
      {
          InitializeComponent();
  
          // Make it tapable
          this.onIconTapppedRecognizer = new TapGestureRecognizer();
          this.onIconTapppedRecognizer.Tapped += Icon_Tapped;
          this.infoButton.GestureRecognizers.Add(this.onIconTapppedRecognizer);
      }
  
      private async void Icon_Tapped(object sender, EventArgs e)
      {
          await MainPage.Instance.Detail.Navigation.PushAsync(new MyNewPage(this.viewModel));
      }
  }
  </code></pre>
  
  <p>Now I want to receive the <code>Icon_Tapped</code> event on <code>SomeView</code>. <a href="http://www.c-sharpcorner.com/blogs/handling-child-control-event-in-listview-using-xamarinforms1" rel="nofollow noreferrer">This approach</a> doesn't work, because the cell is defined in a separate object and not on the same "page". <a href="https://stackoverflow.com/a/25983987/426227">Another approach</a> requires to pass the view model in the code via constructor, but I have defined that in XAML. Furthermore, I have a model for each entry in the list view and not one for the whole list view.</p>
  
  <p>How can I receive the event from the cell?</p>