WPF ViewModel类中的Dispatcher

时间:2013-08-19 13:59:47

标签: c# wpf mvvm

我在我的一个WPF代码中使用了一个调度程序,但现在将所有代码移到MVVM模式下面,代码如下:

this.Dispatcher.BeginInvoke(new Action(() => CallEmployee()));
Thread.Sleep(100000);

但ViewModel类文件中没有相同的内容。我试过了

System.Windows.Threading.CurrentDispatcher.BeginInvoke(new Action(() => CallEmployee()));
Thread.Sleep(100000);

但它没有调用CallEmployee方法。

1 个答案:

答案 0 :(得分:3)

如果您的ViewModel位于引用WindowsBase.dllPresentationFramework.dll的程序集中,那么您可以执行以下操作:

System.Windows.Application.Current.Dispatcher.BeginInvoke(...);

否则,您需要抽象调度程序,可能使用某些接口和Factory模式或IoC或其他任何内容。