質問

私は 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 を使用して折れ線グラフ自体にアクセスしようとしましたが、それも機能しません。

助言がありますか?

役に立ちましたか?

解決

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top