2

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;
}

ピボット全体のデータコンテキストを設定する代わりに、線グラフのデータコンテキストをターゲットにする方法がわかりませんか?3つの異なるピボットアイテムに3つのグラフがあり、それらのデータコンテキストを個別に設定する必要があります。代わりに、次のようなことをしたいと思います。

_24HoursLineGraph.DataContext = theDataContext;

しかし、これは機能しません。また、_24HoursLineGraph.Graphs [0] .DataContextを使用して線グラフ自体にアクセスしようとしましたが、それも機能しません。

助言がありますか?

4

1 に答える 1

2

クイックチャートは、複数のグラフに対して1つのデータソースのみを使用する単純なシナリオ向けに設計されています。クイックチャートでは、グラフごとに完全に個別のデータソースを使用することはサポートされていません。

この場合、すべてのデータソースを1つにマージしてから、各グラフのValueMemberPathをデータ内のそれぞれのプロパティ名に設定する必要があります。

于 2011-06-17T08:00:30.500 に答える