title: Xamarin Forms ListView does not update correctly
body: <p>I'm working with Xamarin Forms and MVVMLight. </p>
  
  <p>So I'm displaing a List of "Patients" with a ListView. Each Element of the ListView has a Delete-Button. When clicked the Patient is deleted from the List and the View is notified with RaisePropertyChanged().</p>
  
  <p>The Problem now is that when I add multiple Patients and then want to delete one. Always the last one is removed in the View. I debugged the App and saw that the right one is delted from my List. But when the View updates its data, always the last Entry is removed.</p>
  
  <pre><code>    &lt;ListView ItemsSource="{Binding Patients}" HasUnevenRows="true" x:Name="Patientlist"&gt;
              &lt;ListView.ItemTemplate&gt;
                  &lt;DataTemplate&gt;
                      &lt;ViewCell&gt;
                          &lt;ViewCell.View&gt;
                              &lt;StackLayout Orientation="Horizontal" VerticalOptions="FillAndExpand"&gt;
                                  &lt;StackLayout HorizontalOptions="FillAndExpand"&gt;
                                      &lt;Label Text="Patient" Style="{DynamicResource TitleStyle}"/&gt;
                                      &lt;Label Text="Benötigte Proben"/&gt;
                                      &lt;Label Text="Untersuchungen"/&gt;
                                      &lt;Button Text="Bearbeiten" /&gt;
                                  &lt;/StackLayout&gt;
                                  &lt;StackLayout HorizontalOptions="FillAndExpand"&gt;
                                      &lt;Label Text="{Binding PatientID}"/&gt;
                                      &lt;Label Text="Test"/&gt;
                                      &lt;Label Text="Test"/&gt;
                                      &lt;Button Text="Löschen" Command="{Binding DelCMD}"/&gt;
                                  &lt;/StackLayout&gt;
                              &lt;/StackLayout&gt;  
                          &lt;/ViewCell.View&gt;
                      &lt;/ViewCell&gt;
                  &lt;/DataTemplate&gt;
              &lt;/ListView.ItemTemplate&gt;
          &lt;/ListView&gt;
  </code></pre>
  
  <p>So this is my ListView. The Button "Löschen" ist the delete-Button. It executes the following Command:</p>
  
  <pre><code>private RelayCommand delCMD;
  
      public RelayCommand DelCMD
      {
          get
          {
              return delCMD ?? (delCMD = new RelayCommand (()=&gt;Messenger.Default.Send&lt;PatientM&gt; (this, "delPat")));
          }
      }
  </code></pre>
  
  <p>This code is in my PatientModel-Class. And sends a Message to the VM where the Element is removed. </p>
  
  <pre><code>        public void delPatient(PatientM Patient)
      {
          Patients.Remove (Patient);
          RaisePropertyChanged ("Patientlist");
      }
  </code></pre>
  
  <p>This code is then executed in the VM. An well like I said the right Patient is removed from the List (Patients.Remove). But after RaisePropertyChanged is called the wrong is Element is delted in the View. Always the last one even tough I deleted another on in the List.</p>