2

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

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

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

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

但它不是调用CallEmployee方法。

4

1 回答 1

4

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

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

否则,您需要抽象调度程序,可能通过使用一些接口和工厂模式或 IoC 或其他方式。

于 2013-08-19T14:21:20.723 回答