【问题标题】:linegraph on wp7wp7上的折线图
【发布时间】:2011-06-14 16:16:11
【问题描述】:

我正在使用 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 访问线图本身,但这也不起作用。

有什么建议吗?

【问题讨论】:

    标签: c# silverlight windows-phone-7 charts amcharts


    【解决方案1】:

    快速图表专为只有一个数据源用于多个图表的简单场景而设计。快速图表不支持为每个图表使用完全独立的数据源。

    在您的情况下,您需要将所有数据源合并为一个,然后将每个图表上的 ValueMemberPath 设置为数据中的相应属性名称。

    【讨论】:

    • 有趣的是,不久前我有一个顿悟,我意识到我应该这样做。然后我登录,看到你打败了我 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    • 1970-01-01
    相关资源
    最近更新 更多