2014-01-26 4 views
0

Я использую следующий код и хочу, чтобы курсор отображался , когда данные загружены, почему я не вижу его на экране? Поскольку в настоящее время ничего не происходит. Когда я его отладки я вижу, что код вызывается, но ничего не происходит на экране ...Указатель мыши не отображается

onButtonCommand(){ 

      Application.Current.Dispatcher.BeginInvoke((Action)(() => 
      { 
       System.Windows.Input.Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait; 

      })); 

      //Get service Data 
      _Model.SerivceData(); 

      Application.Current.Dispatcher.BeginInvoke((Action)(() => 
      { 
       System.Windows.Input.Mouse.OverrideCursor = null; 
      })); 

....

ответ

1

Вы метод вызова асинхронно (с использованием BeginInvoke). Вместо этого назовите его синхронно (с использованием Invoke).

Application.Current.Dispatcher.Invoke((Action)(() => 
{ 
    System.Windows.Input.Mouse.OverrideCursor = 
        System.Windows.Input.Cursors.Wait; 

})); 

BeginInvoke Епдиеие делегаты на диспетчере и запустить его на основе приоритета диспетчерского асинхронно.

+0

Спасибо, сейчас я вижу, что голосовал UP! но проблема в том, что я вызываю службу, которую пользователь имеет всплывающее окно, которое он должен поместить пользователю и передать, и я вижу его раньше, но когда данные освобождаются, я вообще не вижу их ... когда данные закодированы Я даже не могу передвигаться с помощью курсора на экране, любая идея, как его решить? –

+0

@John - Это совершенно другой вопрос (не связанный с курсором мыши). Чтобы ответить, нам нужно больше кода, который вы опубликовали. Пожалуйста, напишите отдельный вопрос с соответствующим кодом, чтобы воспроизвести проблему. (Пожалуйста, воздержитесь от ответов на вопросы, которые не связаны с оригинальным вопросом в комментариях, иначе ваш вопрос не будет представлен более широкой аудитории здесь). –

+0

Ok Спасибо, Рохит! –

Смежные вопросы