title: Xamarin Forms Binding not showing on ListView
body: <p>I'm new to Xamarin and I'm trying to bind my ViewModel to the View but I couldn't do it yet.</p>
  
  <p>Here's the code.</p>
  
  <p>(Model)</p>
  
  <pre><code>namespace CadastroProdutos
  {
      public class Produto
      {
          public string Codigo { get; set; }
          public string Identificacao { get; set; }
          public string Tipo { get; set; }
      }
  }
  </code></pre>
  
  <p>(Observable Model)</p>
  
  <pre><code>namespace CadastroProdutos
  {
      public class ObservableProduto : INotifyPropertyChanged
      {
          Produto produto;
          public ObservableProduto()
          {
              produto = new Produto()
              {
                  Identificacao = "Primeiro",
                  Codigo = "123456"
  
              };
              produto = new Produto()
              {
                  Identificacao = "Segundo",
                  Codigo = "123456"
  
              };
              produto = new Produto()
              {
                  Identificacao = "Terceiro",
                  Codigo = "123456"
  
              };
          }
  
          public event PropertyChangedEventHandler PropertyChanged;
  
          public string Codigo
          {               
              set
              {
                  if (!value.Equals(produto.Codigo, StringComparison.Ordinal))
                  {
                      produto.Codigo = value;
                      OnPropertyChanged("Codigo");
                  }
              }
              get
              {
                  return produto.Codigo;
              }
          }
  
          public string Identificacao
          {
              set
              {
                  if (!value.Equals(produto.Identificacao, StringComparison.Ordinal)) 
                  {
                      produto.Identificacao = value;
                      OnPropertyChanged("Identificacao");
                  }
              }
              get
              {
                  return produto.Identificacao;
              }
          }
  
          public string Tipo
          {
              set
              {
                  if (!value.Equals(produto.Tipo, StringComparison.Ordinal)) 
                  {
                      produto.Tipo = value;
                      OnPropertyChanged("Tipo");
                  }
              }
              get
              {
                  return produto.Tipo;
              }
          }
  
          void OnPropertyChanged([CallerMemberName] string propertyName = null)
          {
              var handler = PropertyChanged;
              if (handler == null)
              {
                  handler(this, new PropertyChangedEventArgs(propertyName));
              }
          }
      }
  }
  </code></pre>
  
  <p>(ViewModel)</p>
  
  <pre><code>namespace CadastroProdutos
  {
      public class ListProdutoViewModel
      {
          ObservableCollection&lt;ObservableProduto&gt; produtos;
  
          public ListProdutoViewModel()
          {
              produtos = new ObservableCollection&lt;ObservableProduto&gt;();
          }
  
          public ObservableCollection&lt;ObservableProduto&gt; Produtos
          {
              set
              {
                  if (value != produtos)
                  {
                      produtos = value;
                  }
              }
              get
              {
                  return produtos;
              }
          }
      }
  }
  </code></pre>
  
  <p>(View)</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
      xmlns:local="clr-namespace:CadastroProdutos;"
      x:Class="CadastroProdutos.ListProduto"
      Title="Listagem de Produtos"&gt;
      &lt;ContentPage.Content&gt;
          &lt;ListView x:Name="listView" Margin="20,40,20,20" ItemsSource="{Binding Produtos}"&gt;
              &lt;ListView.BindingContext&gt;
                  &lt;local:ListProdutoViewModel /&gt;
              &lt;/ListView.BindingContext&gt;
              &lt;ListView.Header&gt;
                  &lt;StackLayout Orientation="Vertical" &gt;
                          &lt;Label Text="Produtos" HorizontalOptions="Center"/&gt;
                  &lt;/StackLayout&gt;
              &lt;/ListView.Header&gt;
              &lt;ListView.ItemTemplate&gt;
                  &lt;DataTemplate&gt;
                      &lt;StackLayout Orientation="Horizontal" &gt;
                          &lt;TextCell Text="{Binding Identificacao}"/&gt;
                      &lt;/StackLayout&gt;
                  &lt;/DataTemplate&gt;
              &lt;/ListView.ItemTemplate&gt;
          &lt;/ListView&gt;
      &lt;/ContentPage.Content&gt;
  &lt;/ContentPage&gt;
  </code></pre>
  
  <p>It not worked, It didn't show those elements on the list. Can someone help me?</p>
  
  <p>Thanks in advance.</p>