Запрет асинхронного вызова при работе с классом Cursor - PullRequest
0 голосов
/ 31 мая 2018

У меня есть метод ниже в моем приложении WPF.Я обернул его в вызов Dispatcher.Invoke, потому что служба, открывающая окно, работает в потоке, отличном от основного потока.Пока это работает.

Но проблема с моим курсором.Кажется, что вызов OpenMimic выполняется асинхронно, поэтому мой курсор превращается в песочные часы, но только на долю секунды.Затем через 2 или 3 секунды метод OpenMimic открывает окно.Как я могу показать это так, чтобы Курсор оставался в качестве песочных часов, пока не завершится вызов 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;
            }
        });
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...