我正在使用 amCharts 和他们的 SerialChart 与 LineGraph 相结合。我已经让它以这种方式工作:
<amq:SerialChart x:Name="_24HoursLineGraph" DataSource="{Binding Data}" CategoryValueMemberPath="Date"
AxisForeground="White"
PlotAreaBackground="Black"
GridStroke="DarkGray" Grid.Row="1" Margin="20">
<amq:SerialChart.Graphs>
<amq:LineGraph ValueMemberPath="Close" Title="Close" Brush="Blue" />
</amq:SerialChart.Graphs>
</amq:SerialChart>
后面的代码:
public ObservableCollection<Currency> Data { get { return _data; } }
private ObservableCollection<Currency> _data = new ObservableCollection<Currency>(){};
void SetContext(Item[] itemArray)
{
_data = new ObservableCollection<Item>();
foreach (var item in itemArray)
{
_data.Add(item);
}
_data.OrderByDescending(i => i.Date);
this.DataContext = this;
}
我不明白如何定位线图的数据上下文而不是设置整个枢轴的数据上下文?我在三个不同的数据透视项目中有三个图表,我需要单独设置它们的数据上下文。所以相反,我想做类似的事情:
_24HoursLineGraph.DataContext = theDataContext;
但这不起作用。我也尝试使用 _24HoursLineGraph.Graphs[0].DataContext 访问线图本身,但这也不起作用。
有什么建议么?