title: Label doesn't properly update on defered event handler [Bug?]
body: <p>I noted something wrong, either it's from me or a bug when experimenting with .Net MAUI.</p>
  <p>I have an <code>ObservableCollection</code> property :</p>
  <pre><code> public ObservableCollection&lt;LotoModel&gt; Lotteries { get; set; } = new();
  </code></pre>
  <p>and an <code>ObservableProperty</code> (using community mvvm toolkit) :</p>
  <pre><code>[ObservableProperty]
  public string _lotteriesCount = &quot;A&quot;;
  </code></pre>
  <p>When ever I click/touch a <code>Button</code> I load my <code>Lotteries</code> collection. (tested with an hard coded 4 static LotoModel items) :</p>
  <pre><code>static GridModel _testGM1 = new GridModel { Name = &quot;TEST Grid #1&quot;, Start = 0, End = 10, NumberOfDraw = 2 };
  static GridModel _testGM2 = new GridModel { Name = &quot;TEST Grid #2&quot;, Start = 0, End = 20, NumberOfDraw = 5 };
  static GridModel _testGM3 = new GridModel { Name = &quot;TEST Grid #3&quot;, Start = 0, End = 30, NumberOfDraw = 8 };
  static GridModel _testGM4 = new GridModel { Name = &quot;TEST Grid #4&quot;, Start = 0, End = 50, NumberOfDraw = 10 };
  static LotoModel _testLM1 = new LotoModel { Name = &quot;TEST Lottery #1&quot;, IsFavorite = true, Grids = new ObservableCollection&lt;GridModel&gt; { _testGM1, _testGM2 } };
  static LotoModel _testLM2 = new LotoModel { Name = &quot;TEST Lottery #2&quot;, IsFavorite = false, Grids = new ObservableCollection&lt;GridModel&gt; { _testGM3, _testGM4 } };
  </code></pre>
  <p>And the <code>Button</code> command <code>Task</code> :</p>
  <pre><code>async Task GetLotteriesAsync()
  {
      if (IsBusy)
          return;
      try 
      {
          IsBusy = true;
  
          _buttonCount++;
          LotteriesCount = _buttonCount.ToString();
  
          if (Lotteries.Count != 0)
              Lotteries.Clear();
  
          Lotteries.Add(_testLM1);
          Lotteries.Add(_testLM2);
          Lotteries.Add(_testLM1);
          Lotteries.Add(_testLM2);
  
      }
      catch (Exception e)
      {
          Log.Error(e, &quot;Error while trying to get our lotteries&quot;);
          await Application.Current.MainPage.DisplayAlert(&quot;Error!&quot;, e.Message, &quot;OK&quot;);
      }
      finally
      {
          IsBusy = false;
      }
  }
  </code></pre>
  <p>So each time I touch/click my <code>Button</code>, <code>LotteriesCount</code> string property get's updated with a static int counter field value :</p>
  <pre><code>static int _buttonCount = 0;
  </code></pre>
  <p>That is OK.</p>
  <p>Now I also update this property via this <code>CollectionChangedEventHandler</code> :</p>
  <pre><code>public LotteriesVM(LotteryService lotteryService)
  {   
      GetLotteriesCommand = new Command(async () =&gt; await GetLotteriesAsync());
  
      Lotteries.CollectionChanged += LotteriesChangedMethod;
  }
  
  private void LotteriesChangedMethod(object sender, NotifyCollectionChangedEventArgs e)
  {
      LotteriesCount = _lotteriesCount + &quot;_&quot; + Lotteries.Count.ToString();
  }
  </code></pre>
  <p>And now here the unexpected behavior : The label only update the counter part of it string property, the remaining <code>&quot;_1_2_3_4&quot;</code> added in the handler doesn't get updated in UI.</p>
  <p>Note that I'm using a Android Pixel 5 emulator from VS 17.3 preview.</p>
  <p>And I also noted that if I force orientation of the emulated android device, then the Label is updated !
  Even more, if I force a XAML <code>MinimalWidthRequest=&quot;200&quot;</code> for my Label, then it is correctly updated now !</p>
  <pre><code>&lt;!-- without MinimumWidthRequest, the label update only after forcing a screen orientation--&gt;
  &lt;Label Text=&quot;{Binding LotteriesCount}&quot; MinimumWidthRequest=&quot;200&quot; HorizontalOptions=&quot;Center&quot; FontAttributes=&quot;Bold&quot; FontSize=&quot;22&quot; TextColor=&quot;OrangeRed&quot;/&gt;
  </code></pre>
  <p>So am I doing something wrong or it is a bug ? Thank you.</p>