我的WPF应用程序中有以下方法。我将它包装在Dispatcher.Invoke调用中,因为打开窗口的服务在主线程以外的线程上运行。到目前为止,这是有效的。
但问题出在我的Cursor上。似乎对OpenMimic的调用是异步执行的,所以我的光标变成了一个沙漏,但只是一瞬间。然后2或3秒后,OpenMimic方法打开一个窗口。 我怎样才能显示这一点,以便Cursor在OpenMimic调用完成之前保持沙漏状态?
[OnExecuteMethod]
public void OpenAlarmListMimic()
{
Application.Current.Dispatcher.Invoke(() =>
{
try
{
Mouse.OverrideCursor = Cursors.Wait;
ViewsIntegerationService.OpenMimic(@"GTCS\GCS\mmc_AlarmList", "", "", 2, ThisMimic.Context, null);
}
finally
{
Mouse.OverrideCursor = null;
}
});
}