LiveChart中的ObservableValue是什么

时间:2017-08-28 09:55:20

标签: c# wpf livecharts

我不了解ObservableValue,或者传入ObservableValue和传入原始值/类型本身有什么区别?

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

为什么ObservableValue?并且有人可以提出一个例子。

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

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

2 个答案:

答案 0 :(得分:5)

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

如果只是简单地替换集合中的double值,则不会引发任何事件:

Values[0] = 1.0;

...但如果您像这样设置Value的{​​{1}}属性,则会引发ObservableValue事件:

PropertyChanged

图表订阅Values[0].Value = 1.0; 事件以侦听更新。这就是区别。

答案 1 :(得分:2)

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

您可以找到ObservableValue来源here