title: How can I update a Xamarin Forms ListView's ViewCell properties after the list has been created?
body: <p>I expect to be able to change a bound property on my custom <code>ViewCell</code> and it to update the <code>ListView</code> item - but it appears only to be used to initialise the view and changes are not reflected. Please tell me what I am missing!</p>
  
  <p>Here I pick up on the tapped event and attempt to change the string of the ViewCell without success:</p>
  
  <pre><code>private void DocChooser_ItemTapped(object sender, ItemTappedEventArgs e)
  {
      var tappedItem = e.Item as DocumentChooserList.DocumentType;
      tappedItem.Name = "Tapped"; // How can I change what a cell displays here? - this doesn't work
  }
  </code></pre>
  
  <p>Here's my ViewCell code:</p>
  
  <pre><code>class DocumentCellView : ViewCell
  {
      public DocumentCellView()
      {
          var OuterStack = new StackLayout()
          {
              Orientation = StackOrientation.Horizontal,
              HorizontalOptions = LayoutOptions.FillAndExpand,
          };
  
          Label MainLabel;
          OuterStack.Children.Add(MainLabel = new Label() { FontSize = 18 });
          MainLabel.SetBinding(Label.TextProperty, "Name");
  
          this.View = OuterStack;
      }
  }
  </code></pre>
  
  <p>Here is my listview class:</p>
  
  <pre><code>public class DocumentChooserList : ListView
  {
      public List&lt;DocumentType&gt; SelectedDocuments { get; set; }
  
      public DocumentChooserList()
      {
          SelectedDocuments = new List&lt;DocumentType&gt;();
          this.ItemsSource = SelectedDocuments;
          this.ItemTemplate = new DataTemplate(typeof(DocumentCellView));
      }
  
      // My data-binding class used to populate ListView and hopefully change as we go
      public class DocumentType
      {
          public string Name { get; set; }
      }
  }
  </code></pre>
  
  <p>Which i add values to like so:</p>
  
  <pre><code>DocChooser.SelectedDocuments.Add(new DocumentChooserList.DocumentType(){
      Name = "MyDoc"
  });
  </code></pre>
  
  <p>Using this simple data class:</p>
  
  <pre><code>public class DocumentType
  {
      public string Name { get; set; }
  }
  </code></pre>