title: Xamarin Forms Make detail view editable
body: <p>My first try with Xamarin, and stuck on the basic.
  Build Master-View, all working fine, can add new items.
  However when click on existing item it is read only.
  I have implemented edit button, but do not know how to make item editable in the detail view.
  My ItemDetailPage.xaml</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:d="http://xamarin.com/schemas/2014/forms/design"
               xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
               mc:Ignorable="d"
               x:Class="DataCollector.Views.ItemDetailPage"
               Title="{Binding Title}"&gt;
  
      &lt;ContentPage.ToolbarItems&gt;
          &lt;ToolbarItem Text="Delete" Clicked="ToolbarItem_Clicked" /&gt;
          &lt;ToolbarItem Text="Edit" Clicked="Edit_Clicked" /&gt;
      &lt;/ContentPage.ToolbarItems&gt;
  
      &lt;StackLayout Spacing="20" Padding="15"&gt;
          &lt;Label Text="WTN Number:" FontSize="Medium" /&gt;
          &lt;Label Text="{Binding Item.WTNNumber}" d:Text="Item name" FontSize="Small"/&gt;
          &lt;Label Text="Description:" FontSize="Medium" /&gt;
          &lt;Label Text="{Binding Item.Description}" d:Text="Item description" FontSize="Small"/&gt;
      &lt;/StackLayout&gt;
  
  &lt;/ContentPage&gt;
  </code></pre>
  
  <p>and ItemDetailPage.xaml.cs</p>
  
  <pre><code>    using System;
      using System.ComponentModel;
      using Xamarin.Forms;
      using Xamarin.Forms.Xaml;
  
      using DataCollector.Models;
      using DataCollector.ViewModels;
  
      namespace DataCollector.Views
      {
          // Learn more about making custom code visible in the Xamarin.Forms previewer
          // by visiting https://aka.ms/xamarinforms-previewer
          [DesignTimeVisible(false)]
          public partial class ItemDetailPage : ContentPage
          {
              ItemDetailViewModel viewModel;
  
              public ItemDetailPage(ItemDetailViewModel viewModel)
              {
                  InitializeComponent();
  
                  BindingContext = this.viewModel = viewModel;
              }
  
              public ItemDetailPage()
              {
                  InitializeComponent();
  
                  var item = new Item
                  {
                      WTNNumber = "Item 1",
                      Description = "This is an item description."
                  };
  
                  viewModel = new ItemDetailViewModel(item);
                  BindingContext = viewModel;
              }
  
              private void Delete_Clicked(object sender, EventArgs e)
              {
  
              }
  
              private void Edit_Clicked(object sender, EventArgs e)
              {
  
              }
          }
      }
  </code></pre>
  
  <p>and ItemDetailViewModel.cs</p>
  
  <pre><code>using System;
  
  using DataCollector.Models;
  
  namespace DataCollector.ViewModels
  {
      public class ItemDetailViewModel : BaseViewModel
      {
          public Item Item { get; set; }
          public ItemDetailViewModel(Item item = null)
          {
              Title = item?.WTNNumber;
              Item = item;
          }
  
  
      }
  }
  </code></pre>
  
  <p>How to do it through ItemDetailViewModel changes?</p>