wp7上的折线图
本文关键字:折线图 wp7 | 更新日期: 2023-09-27 17:59:19
我使用的是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.Grapphs[0].DataContext访问线形图本身,但这也不起作用。
有什么建议吗?
Quick Charts专为多个图只有一个数据源的简单场景而设计。快速图表不支持对每个图使用完全独立的数据源。
在您的情况下,您需要将所有数据源合并为一个,然后将每个图上的ValueMemberPath设置为数据中相应的属性名称。