我正在使用自定义 wpf 控件,该控件的值将根据数据库中的通道值更新每 20 毫秒更改一次。但是我想控制这个用户控件中的速度值更新,以便用户可以轻松理解(这意味着〜500ms),在这种情况下我们有没有除了线程之外的任何解决方案。
问问题
74 次
1 回答
2
在控件和快速变化的数据源之间创建一个缓冲区。
您可以通过创建一个具有属性的类来创建缓冲区,该属性将跟踪对其属性的最后一次更新时间,并且只有在超过 500 毫秒之前才会更新该属性。
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");
}
}
}
于 2013-06-03T04:24:15.220 回答