Песочные часы не отображаются, пока процесс не закончится в приложении MVVP - PullRequest
0 голосов
/ 05 ноября 2011

Я разрабатывал код для настройки приложения ms-word и получаю данные с сервера Exchange и отображаю их.поэтому, пока данные не дойдут до MS-слова, я хочу показать символ «занят» песочных часов.но после того, как выполнение выходит из обработчика кнопки (доли секунды), символ занятости занят.

У меня есть одна кнопка с именем «Получить» на настраиваемой ленте мс-слова, поэтому, когда я нажимаю, тогда символ «занят» нуженчтобы быть загруженным и до тех пор, пока данные не перейдут в ms-слово от обмена, символ должен быть сохранен.

я использую следующий код: -

public class MyCursor : IDisposable
{     
private Cursor _preappCursor;      
public MyCursor ()     
{         
_preappCursor= Mouse.OverrideCursor;          
Mouse.OverrideCursor = Cursors.Wait;     
}      
#region IDisposable Members     
 public void Dispose()     
{         
Mouse.OverrideCursor = _preappCursor;     
}      
#endregion 
} 


using(new MyCursor ()) 
{     
//Receive side bar calls the exchange code here and display in ms-word
} 

Ответы [ 2 ]

1 голос
/ 05 ноября 2011

Вы выполняете длительную операцию в потоке графического интерфейса?Если это так, графический интерфейс может быть не отвечает, что вызовет глюки интерфейса.Поэтому убедитесь, что вы выполняете свою длительную операцию в фоновом потоке.

0 голосов
/ 05 ноября 2011

Используйте фоновый рабочий для получения данных с сервера Exchange. Инкапсулируйте функциональность в BackgroundWorker_DoWork ().Измените курсор на занятое на этот раз и оставьте его.Когда фоновый работник завершит свою работу, верните курсор обратно на _preappCursor.Инкапсулируйте эту функциональность в BackgroundWorker_RunWorkerCompleted (). Просмотрите эту статью для получения дополнительной информации о фоновом работнике с Wpf.

Надеюсь, это вам поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...