LiveChart 中的 ObservableValue 是什么

What is ObservableValue in LiveChart

我不明白ObservableValue,或者传入ObservableValue和传入原始value/type本身有什么区别?

如果我以下面的例子为例,无论是 ObservableValue 还是 double 类型,图表都会动态填充随机值并更新图表,包括动画。

那么为什么要使用 ObservableValue?有人可以举个例子吗。

Values = new ChartValues<ObservableValue>
{
    new ObservableValue(r.Next(10, 400)),
};

Values = new ChartValues<double>
{
    (r.Next(10, 400)),
};

如果您使用 ObservableValue,它只是在每次 Value 属性 更改时通知图表更新(因为它实现了 INotifyPropertyChanged 接口)。

您可以找到 ObservableValue 来源 here

如果您打算在填充初始集合并显示图表后在运行时动态更新 Values 集合中的单个值,则需要使用 ObservableValue 使图表成为能够通知此更新并相应地更新自身。

当您像这样简单地替换集合中的 double 值时,不会引发任何事件:

Values[0] = 1.0;

...但是如果您像这样设置 ObservableValueValue 属性,则会引发 PropertyChanged 事件:

Values[0].Value = 1.0;

图表订阅了PropertyChanged事件来监听更新。这就是区别。