Как заставить мое приложение wpf ждать 3 минуты перед повторной загрузкой данных?

#c# #wpf

#c# #wpf

Вопрос:

Я использую VS2010 — WPF — C#

в моем приложении я извлекаю данные с веб-сервера и просматриваю их в своем интерфейсе проблема в том, что я хочу продолжать извлекать данные и обновлять свой интерфейс каждые 3 минуты, но я не знаю, как это сделать…

Я пытался (поток.Sleep (18000)) и это не сработало, потому что мой интерфейс вообще не отображался

Я не знаю, как использовать таймер по такой причине, и я не смог найти то, что я ищу в другом месте

Пожалуйста, вы можете мне с этим помочь?

С наилучшими пожеланиями

Ответ №1:

Какая модель программирования? Стандартный или что-то более разумное с подходом MVVM?

В любом случае, используйте ТАЙМЕР, чтобы запросить обратный вызов через 3 минуты. При обратном вызове вызовите обратно поток диспетчера окна, как только вы получите результаты вызова веб-службы. ЗАКОНЧЕННЫЕ.

Ответ №2:

Используйте DispatcherTimer, также есть примеры его использования по данной ссылке

Ответ №3:

Используйте таймер отправки, подобный этому

Удалите это

 public System.Windows.Threading.DispatcherTimer timer1;
  

В конструкторе

 timer1 = new System.Windows.Threading.DispatcherTimer();
timer1.Interval = TimeSpan.FromSeconds(180); // 3 mintues interval
timer1.Tick  = TimerTicked; // Event for handling the fetching data
  

Выполняйте свою работу

  private void TimerTicked(object sender, EventArgs args)
 {
//Fetch the data
 }
  

timer1.start(); // Где бы вы ни хотели запустить таймер