模块中的Dispatcher线程出错

时间:2015-04-08 22:17:09

标签: c# multithreading

我遇到的一个典型的多线程问题:

  

此类型的CollectionView不支持从与Dispatcher线程不同的线程更改其SourceCollection

通常,我会使用以下方法解决此问题:

App.Current.Dispatcher.Invoke((Action)delegate
  {
  // Offending code goes in here. 
  });

但是,此特定程序是一个模块,它作为较大程序中的选项卡项加载。应用程序位于父程序的app.xaml.cs中,我无法从此处访问。有关解决方法或不同方法的任何想法吗?

1 个答案:

答案 0 :(得分:1)

您始终可以使用Application.Current属性访问Dispatcher:

System.Windows.Application.Current.Dispatcher.Invoke((Action)() => 
{
     // your code
});