2009-11-05 4 views
0

저는 GDI +에서 그래프 컨트롤을 개발했으며 타이머를 사용했습니다 ... 이제는 WPF로 변환 중입니다. 하지만 내가 가서 타이머를 검색하면 WPF에 타이머가 없습니다 ... 어떻게이 문제를 해결할 수 있습니까? 어떤 대안을 사용할 수 있습니까?WPF 그래프 컨트롤에 문제가 있습니다.

안부, rangana.

답변

1

System.Threading.Timer을 사용해도 괜찮습니다. 타이머가 그 자체에서 실행되기 때문에 사용자가 타이머에서 어떤 UI 관련 요소를 업데이트하려면

using System.Threading; 

... 

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

... 

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

, 당신은 Dispatcher.BeginInvoke를 사용해야합니다 : 여기

은 1 초를 실행하는 타이머의 예입니다 스레드는 타이머를 시작하는 메인 스레드가 UI를 소유합니다. 다음은 예입니다

private void OnTimerCallback(object state) 
{ 
    Dispatcher.BeginInvoke(
     System.Windows.Threading.DispatcherPriority.Normal, 
      (ThreadStart) (() => Background = Brushes.Black)); 
} 
관련 문제