Linegraph su WP7
-
27-10-2019 - |
Domanda
Sto usando Amcharts e il loro seriarchart combinato con un linegraph. L'ho fatto funzionare in questo modo:
<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>
Codice dietro:
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;
}
Non capisco come posso prendere di mira il datacontext del linegraph invece di impostare il datacontext dell'intero perno? Ho tre grafici in tre diversi elementi pivot e ho bisogno di impostare il datacontext di essi individualmente. Quindi invece voglio fare qualcosa di simile:
_24HoursLineGraph.DataContext = theDataContext;
Ma questo non funziona. Ho anche provato ad accedere al linegraph stesso con _24Hourslinegraph.graphs [0] .DataContext ma non funziona neanche.
Eventuali suggerimenti?
Soluzione
I grafici rapidi sono progettati per scenari semplici con una sola fonte di dati per più grafici. L'uso di origini dati completamente separate per ciascun grafico non è supportato in grafici rapidi.
Nel tuo caso dovrai unire tutte le tue fonti di dati in una sola e quindi impostare ValueMemberPath su ciascun grafico su un rispettivo nome di proprietà nei tuoi dati.