Dispatcher in WPF ViewModel Class

本文关键字:Class ViewModel WPF in Dispatcher | 更新日期: 2023-09-27 18:28:16

我在一个WPF代码隐藏中使用调度器,但现在将所有代码隐藏移动到MVVM模式,代码如下:

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

但在ViewModel类文件中不可用。我试过

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

但不调用CCD_ 1方法。

Dispatcher in WPF ViewModel Class

如果ViewModel位于引用WindowsBase.dllPresentationFramework.dll的程序集中,则可以执行:

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

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