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
protected override void OnMouseWheel(MouseWheelEventArgs e){ e.Handled = true; double newDelta = SystemParameters.WheelScrollLines * this.VerticalSmallChange; if (e.Delta > 0) { newDelta = -newDelta; } double offset = Math.Min(this.ExtentHeight, Math.Max((double) 0.0, (double) (this.VerticalOffset + newDelta))); this.VerticalOffset = offset; base.OnMouseWheel(e);}