【发布时间】:2014-03-21 18:56:40
【问题描述】:
我的 XAML 中定义了一个 OxyPlot 图表,如下所示:
<oxy:Plot Height="336">
<oxy:Plot.Series>
<oxy:LineSeries ItemsSource="{Binding Chart}"/>
</oxy:Plot.Series>
</oxy:Plot>
在 viewModel 我有以下内容:
public ObservableCollection<DataPoint> Chart { get; private set; }
public MainViewModel()
{
Chart = new ObservableCollection<DataPoint>()
{ new DataPoint(12, 14), new DataPoint(20, 26) };
public void PriceChange(Model[] quotes)
{
for (int i = 0; i < quotes.Length; i++)
{
Chart.Add(new DataPoint(quotes[i].LastTradePrice, i*10));
}
}
}
我可以看到为最初的两个硬编码DataPoints 绘制的初始图形。
但是在一切就绪并且PriceChange() 方法被触发之后,新的DataPoints 并没有绘制在图表上。因为它是ObservableCollection,它应该自动通知 UI,不是吗?或者我错过了什么?
顺便说一句,我在文档中关注了这个example。
【问题讨论】: