1

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

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

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

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

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

2 回答 2

5

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

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

Values[0] = 1.0;

...但是如果您设置这样的Value属性,则会引发ObservableValue一个PropertyChanged事件:

Values[0].Value = 1.0;

图表订阅PropertyChanged事件以侦听更新。这就是区别。

于 2017-08-28T10:10:52.287 回答
2

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

你可以在这里ObservableValue找到来源

于 2017-08-28T10:01:30.667 回答