title: Windows Phone 8 Dispatcher.BeginInvoke not working async
body: <p>I am new to async programming and to WP8 , this is my first app and I have some issues with Dispatcher.BeginInvoke(..)</p>
  
  <p>In my code behind the view class, i am trying to load data in a Pivot scree async for the second tab.</p>
  
  <p>Here is what i have right now :</p>
  
  <pre><code>public partial class ReminderPivot : PhoneApplicationPage
      {
          #region Reminder Members
          private ReminderViewModel _model;
          private IRepository _repository;
          #endregion Reminder Members
  
          #region Constructors
          public ReminderPivot()
          {
              InitializeComponent();
              _model = new ReminderViewModel();
              _repository = new LocalStorageRepository();
  
              LoadData();
              LoadAsyncData();
  
              this.DataContext = _model;
  
          }
          #endregion Constructors
  
          public void LoadData()
          {
              IEnumerable&lt;Reminder&gt; activeList = _repository.GetRemindersByStatusId(2);
              if (activeList != null)
              {
                  foreach (var reminder in activeList)
                  {
                      _model.ActiveReminders.Add(reminder);
                  }
              }
          }
          public void LoadAsyncData()
          {            
              Action action = () =&gt;
              {
                  Thread.Sleep(5000);
  
                  IEnumerable&lt;Reminder&gt; inactiveList = _repository.GetRemindersByStatusId(3);
                  if (inactiveList != null)
                  {
                      _model.InctiveReminders = new System.Collections.ObjectModel.ObservableCollection&lt;Reminder&gt;(inactiveList);
                  }
              };
  
             Dispatcher.BeginInvoke(action);
          }
  </code></pre>
  
  <p>The thing is that this STILL blocks my UI thread. What am i missing here?</p>
  
  <p>EDIT :
  The idea is to load data async into the ViewModel ObservableCollection wich is ModelBinded in the XAML.</p>
  
  <p>If i try to make the call async on another thread with Task.Factory(...) etc lets say, this crashes as i am changing the binding from another thread not UI thread.</p>