2013-06-03 4 views
1

사용자 지정 wpf 컨트롤을 사용하고 있으며이 컨트롤의 값은 데이터베이스에서 채널 값 업데이트를 기반으로 매 20 밀리 초마다 변경됩니다. 하지만 난 우리가이 상황에서 스레딩 이외의 다른 해결책을 가지고 할, 그것은 (~ 500ms로를 의미) 사용자가 쉽게 이해할 수 있도록이 사용자 컨트롤에서 속도 값 업데이트를 제어하려는.WPF 사용자 컨트롤에서 값 업데이트 속도를 제어 할 수 있습니까

답변

2

컨트롤과 빠른 변경 데이터 원본 사이에 버퍼를 만듭니다.

당신은 그 속성에 마지막 업데이트가 만들어진 경우에만이 속성을 업데이트합니다 500 개 이상의 MS 전에 때를 추적하는 속성 클래스를 만들어 버퍼를 만들 수 있습니다.

private int _stockRate; 
private long _lastUpdate = 0; 

public int StockRate 
{ 
    get { return _stockRate; } 
    set 
    { 
     long now = getTimeInMilliseconds(); // Stopwatch or other timer 
     if(now - _lastUpdate > 500ms) 
     { 
      _stockRate = value; 
      _lastUpdate = now; 
      OnPropertyChanged("StockRate"); 
     } 
    } 
}