#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(); // Где бы вы ни хотели запустить таймер