title: Xamarin Forms navigation issue
body: <p>I'm working on a Xamarin Forms app, and I've ran into an issue.</p>
  
  <p>The navigation system seems to be off a bit. I'm using a root NavigationPage to host my pages, and it works fine all time, except...</p>
  
  <p>I have a sub-page with a list of items. When tapped, each item should display information about itself, on a separate page (let it be modal or not).</p>
  
  <p>However, it only works the first time. The second time I try to check an entry, it seemingly loads it twice (font is thicker and a bit ghosty), and when I press back, one layer stays behind while the other moves with the close animation (that's why I think it was loaded twice).</p>
  
  <p>The code is the following:</p>
  
  <pre class="lang-cs prettyprint-override"><code>public partial class NotesPage : ContentPage {
  protected override void OnAppearing()
      {
          base.OnAppearing();
  
          NotesList.ItemsSource = VM.Notes; // VM is my ViewModel, NotesList is a ListView defined in XAML
          NotesList.ItemSelected += async (sender, e) =&gt;
          {
              if (e.SelectedItem == null) return;
              await Navigation.PushAsync(new NoteDetails((Note)e.Item));
              ((ListView)sender).SelectedItem = null;
          };
      }
  }
  </code></pre>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
                         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                         x:Class="Views.Notes.NoteDetails"&gt;
    &lt;StackLayout&gt;
      &lt;Label Text="{Binding Title}" /&gt;
      &lt;Label Text="{Binding Date}" /&gt;
      &lt;Label Text="{Binding Author}" /&gt;
      &lt;Label Text="{Binding Content}" /&gt;
    &lt;/StackLayout&gt;
  &lt;/ContentPage&gt;
  </code></pre>
  
  <p>NoteDetails' class only sets the BindingContext to the Note object passed.
  The Note class has four properties: a String Title, a String Date (its code-back field is a DateTime object, conversion happens in the getter-setter), a String Author and a String Content. All the details are displayed properly.</p>
  
  <p>The only issue is this second-time checking - it simply refuses to work properly.
  What can be the problem?</p>