自上次访问属性以来经过的时间

时间:2018-05-25 17:00:01

标签: c# wpf mvvm properties livecharts

我有一个获取并设置整数列表的属性,我用它来使用LiveCharts绘制图表。

值正从外部硬件设备传递。有时,由于硬件问题,值可能不可用,在此期间没有值传递给我的应用程序,因此不会触发该属性。我仍想绘制值,但是为bsearch

如何检测我的代码中是否未访问/设置属性,例如10毫秒?

2 个答案:

答案 0 :(得分:2)

您可以将DateTime.Now指定给属性的setter中的另一个实例变量。然后在getter中,如果该值超过10ms,则可以返回NaN。像下面的东西。

        DateTime _lastUpdate;
        double _value;
        TimeSpan _maxInterval = new TimeSpan(0, 0, 0, 0, 10);
        public double Value
        {
            get
            {
                return (DateTime.Now - _lastUpdate) <=  _maxInterval ? _value : double.NaN;
            }
            set
            {
                _lastUpdate = DateTime.Now;
                _value = value;
            }
        }

答案 1 :(得分:1)

好的,我要搜索的是Timer。 ElapsedEventHandler服务于我正在寻找的目的。