title: Xamarin View not Binding from viewModel after Constructor
body: <p>I have a simple View that displays a label with a Question that is being bound from my ViewModel. now if I set the property in my constructor I see the Label displaying whatever I set it to. if I populated from my command function I do not see the label changed. The funny thing is that if I set the Title property (a simple string that has a get and set), then that changes no matter where I set it. but for some reason this particular property does not want to show the changes to it. I have tried simplifying this as much as I can. I tried to define a public string property in my ViewModel and again if I set it in the Constructor than it binds other wise if it is being set in my Command Function then it does not change.  </p>
  
  <p>here is my XAML</p>
  
  <pre><code>&lt;ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
           xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
           x:Class="Pre.MyPage"
           Title="{Binding Title}"
           Icon="about.png"&gt;
   &lt;StackLayout  VerticalOptions="Center" HorizontalOptions="Center" &gt;
     &lt;Label Text="{Binding MyClassObj.Question, Mode=TwoWay}"/&gt;  
   &lt;/StackLayout&gt;
   &lt;/ContentPage&gt;
  </code></pre>
  
  <p>Here is my Code behind</p>
  
  <pre><code>public partial class MyPage : ContentPage
  {
      MyViewModel vm;
      MyViewModel ViewModel =&gt; vm ?? (vm = BindingContext as MyViewModel);
      public MyPage()
      {
          InitializeComponent();
          BindingContext = new MyViewModel(Navigation);
      }
      protected override void OnAppearing()
      {
          base.OnAppearing();
          ViewModel.LoadQuestionCommand.Execute("1");
      }
  }
  </code></pre>
  
  <p>Here is my ViewModel</p>
  
  <pre><code>public class MyViewModel : ViewModelBase 
  {
      public MyClass MyClassObj {get;set;}
  
      ICommand loadQuestionCommand;
      public ICommand LoadQuestionCommand =&gt;
          loadQuestionCommand ?? (loadQuestionCommand = new Command&lt;string&gt;(async (f) =&gt; await LoadQuestion(f)));
  
      public MyViewModel(INavigation navigation) : base(navigation)
      {
          Title = "My Title";            
      }
      async Task&lt;bool&gt; LoadQuestion(string id)
      {
          if (IsBusy)
              return false;
          try
          {
              IsBusy = true;
  
              MyClassObj = await StoreManager.QuestionStore.GetQuestionById(id);   
              //MyClassObject is populated when I break here
          }
          catch (Exception ex)
          {
              Debug.WriteLine(ex.Message);
          }
          finally
          {
              IsBusy = false;
          }
          return true;
      }
  </code></pre>