title: WPF: Modifying CollectionView from Dispatcher still throws errors
body: <p>I have the following bit of code that modifies an observable collection of 'screens' whenever a user leaves.</p>
  
  <pre><code>void OnUserLeft(int roomId, int userId, string username)
      {
          client.ClientDispatcher.Invoke(
              (Action&lt;int&gt;)((id) =&gt; 
              {
                  Console.WriteLine("Hello before the storm!");
                  var screensToCheck = client.Screens.Where(s =&gt; s.CpuId == id).ToList();
                  screensToCheck.Each(s =&gt; client.Screens.Remove(s));
                  Console.WriteLine("Hello there!");
              }), userId);
      }
  </code></pre>
  
  <p>This is wrapped in a call to the client's Dispatcher, supposedly to get past the threading issues related to CollectionViews. However, I still get the following exception:</p>
  
  <blockquote>
    <p>This type of CollectionView does not support changes to its SourceCollection from a thread different from the Dispatcher thread.</p>
  </blockquote>
  
  <p>The Dispatcher you see above is set in the WPF application's MainViewModel (we're using MVVM), like so:</p>
  
  <pre><code>public Dispatcher ClientDispatcher
  {
      get { return Dispatcher.CurrentDispatcher; }
  }
  </code></pre>