title: Xamarin.Forms TimePicker "Time" Binding not settable?
body: <p>On multiple <code>Views</code> I have <code>TimePickers</code> which I would like to set to a certain time but they always show <code>00:00</code>.
  They are set up like this:</p>
  
  <pre><code>&lt;controls:ExtendedTimePicker VerticalOptions="FillAndExpand"
                               HorizontalOptions="EndAndExpand"
                               TextColor="#FFFFFF"
                               Time="{Binding SaveTime, Mode=TwoWay}" /&gt;
  </code></pre>
  
  <p>Or llike this:</p>
  
  <pre><code>&lt;TimePicker Grid.Row="1"
              Grid.Column="1"
              Format="HHmm"
              Time="{Binding SaveTime, Mode=TwoWay}"
              BackgroundColor="#FFFFFF" /&gt;
  </code></pre>
  
  <p>For clarification, <code>ExtendedTimePicker</code> is from the <code>Xlabs.Forms</code> library. As it inherits from the <code>TimePicker</code>, it has the very same issue. Also I've tried every binding mode there is, but all of them got me the same result of <code>00:00</code>.</p>
  
  <p>In my <code>ViewModels</code> I've tried to set the bound property in the constructor, delay it for some hundred miliseconds, or set it when a specific Message from the <code>MessagingCenter</code> is received. No matter when I set it, the displayed time never changes. The getter of the bound property is accessed after I set the Property to a certain time though.<br>
  The Property is defined as:</p>
  
  <pre><code>private TimeSpan _SaveTime;
  public TimeSpan SaveTime
  {
      get { return _SaveTime; }
      set { SetProperty(ref _SaveTime, value); }
  }
  </code></pre>
  
  <p><code>SetProperty</code> leads to this:</p>
  
  <pre><code>public abstract class ViewModelBase : IViewModel, IDisposable
  {
      protected virtual bool SetProperty&lt;T&gt;(ref T storage, T value, [CallerMemberName] string propertyName = null)
      {
          if (object.Equals(storage, value)) return false;
  
          storage = value;
          OnPropertyChanged(propertyName);
  
          return true;
      }
  
      protected void OnPropertyChanged([CallerMemberName] string propertyName = null)
      {
          var eventHandler = PropertyChanged;
          if (eventHandler != null)
          {
              eventHandler(this, new PropertyChangedEventArgs(propertyName));
          }
      }
  }
  </code></pre>
  
  <p>So, is this a bug? Is there something to fix this? A workaround? Something? Maybe an update?<br>
  I am working with:<br>
  VisualStudio 2017 15.2<br>
  Xamarin 4.5.0<br>
  Xamarin.Forms 2.3.4.267  </p>