2009-11-05 3 views
0

Я разработал управление графом в GDI + и использовал в нем таймер. Теперь я преобразовываю его в WPF. но когда я продолжал и искал таймер, в WPF нет таймеров ... как я могу решить эту проблему? Любая альтернатива для использования?Проблема с управлением графами WPF

приветствие, rangana.

ответ

1

Вы можете использовать System.Threading.Timer без проблем.

Вот пример таймера, который выполняет каждые 1 сек:

using System.Threading; 

... 

TimerCallback timerCallBack = OnTimerCallback; 
Timer timer = new Timer(timerCallBack, null, 0, 1000); 

... 

private void OnTimerCallback(object state) 
{ 
    ... 
} 

Если вы хотите обновить любой пользовательский интерфейс, связанные элементы из таймера, вы должны будете использовать Dispatcher.BeginInvoke, потому что таймер работает в своем собственном нить, а пользовательский интерфейс принадлежит основному потоку, который запускает таймер. Вот пример:

private void OnTimerCallback(object state) 
{ 
    Dispatcher.BeginInvoke(
     System.Windows.Threading.DispatcherPriority.Normal, 
      (ThreadStart) (() => Background = Brushes.Black)); 
} 
Смежные вопросы