SeriesMapping sm =
new
SeriesMapping();
LineSeriesDefinition sd =
new
LineSeriesDefinition();
sm.SeriesDefinition = sd;
sm.ItemMappings.Add(
new
ItemMapping(
"Value"
,DataPointMember.YValue));
sm.ItemMappings.Add(
new
ItemMapping(
"Time"
, DataPointMember.XValue));
LineChart.SeriesMappings.Add(sm);
LineChart.ItemsSource = GenerateLineData2(); // Returns a list of LineData objects ...
public
class
LineData
{
private
double
_time;
private
double
_value;
public
double
Time
{
get
{
return
_time; }
set
{ _time = value; }
}
public
double
Value
{
get
{
return
_value; }
set
{ _value = value; }
}
}
private
ObservableCollection<KeyValuePair<
int
, Double>> _datapoints;
radchart.DefaultView.ChartArea.AxisX.AutoRange =
false
;
radchart.DefaultView.ChartArea.AxisX.AddRange(-100, 100, 50);
radchart.DefaultView.ChartArea.AxisX.MajorGridLinesVisibility = Visibility.Visible;
radchart.DefaultView.ChartArea.AxisY.AutoRange =
false
;
radchart.DefaultView.ChartArea.AxisY.AddRange(-100, 100, 50);
radchart.DefaultView.ChartArea.AxisY.MajorGridLinesVisibility = Visibility.Visible;
SeriesMapping sm =
new
SeriesMapping();
sm.SeriesDefinition =
new
LineSeriesDefinition();
sm.SeriesDefinition.ShowItemLabels =
false
;
sm.ItemMappings.Add(
new
ItemMapping(
"Key"
, DataPointMember.XValue));
sm.ItemMappings.Add(
new
ItemMapping(
"Value"
, DataPointMember.YValue));
radchart.SeriesMappings.Add(sm);
radchart.ItemsSource = _datapoints;
_datapoints.Add(
new KeyValuePair<int, double>(1, 10.0));
_datapoints.Add(
new KeyValuePair<int, double>(50, 20.9));
_datapoints.Add(
new KeyValuePair<int, double>(80, 80.1));
_datapoints.Add(
new KeyValuePair<int, double>(100, 34.8));
private
void
Refresh_Click(
object
sender, RoutedEventArgs e)
{
_datapoints[0] =
new
KeyValuePair<
int
,
double
>(1, Rnd.Next(-100, 100) * Rnd.NextDouble());
_datapoints[1] =
new
KeyValuePair<
int
,
double
>(50, Rnd.Next(-100, 100) * Rnd.NextDouble());
_datapoints[2] =
new
KeyValuePair<
int
,
double
>(80, Rnd.Next(-100, 100) * Rnd.NextDouble());
_datapoints[3] =
new
KeyValuePair<
int
,
double
>(100, Rnd.Next(-100, 100) * Rnd.NextDouble());
}
DataTable
time event data_0 ... data_n
t0 0 x0 xn
t1 0 y0 yn
t2 e1 nul nul
t3 0 z0 zn
The event class has different subclasses, They all have a string field but may have different sets of data fields.
I would like to be able to display each event object as a row displaying its string field on a single wide cell, like a group header without the expander. The RowDetails for that row could then ask the event object to display its particular fields.
Thanks