using System; using System.Collections.Generic; using System.Linq; using Abt.Controls.SciChart.Model.DataSeries; namespace SciChartsIssue { /// /// Interaction logic for ChartWindow.xaml /// public partial class ChartWindow { private IOhlcDataSeries _priceDataSeries; private IXyDataSeries _volumeDataSeries; public ChartWindow() { InitializeComponent(); InitializeChart(); AddDataToChart(_priceDataSeries, _volumeDataSeries); } private void InitializeChart() { _priceDataSeries = new OhlcDataSeries(); RSeriesPrice.DataSeries = _priceDataSeries; _volumeDataSeries = new XyDataSeries(); RSeriesVolume.DataSeries = _volumeDataSeries; //DataSeriesSet dataSet = new DataSeriesSet(); //_priceDataSeries = dataSet.AddSeries>(); //PriceChart.DataSet = dataSet; //DataSeriesSet dataSet2 = new DataSeriesSet(); //_volumeDataSeries = dataSet2.AddSeries>(); //VolumeChart.DataSet = dataSet2; } public static void AddDataToChart(IOhlcDataSeries priceDataSeries, IXyDataSeries volumeDataSeries) { int numBars = 50; var times = new List(numBars); DateTime date = DateTime.Now.AddMinutes(-1 * 2 * numBars); for (int i = 0; i < numBars; i++) { date = date.AddMinutes(1); times.Add(date); } Random rnd = new Random(); var open = Enumerable.Range(0, numBars).Select(n => rnd.Next(1, 1000)).ToList(); var high = Enumerable.Range(0, numBars).Select(n => rnd.Next(1, 1000)).ToList(); var low = Enumerable.Range(0, numBars).Select(n => rnd.Next(1, 1000)).ToList(); var close = Enumerable.Range(0, numBars).Select(n => rnd.Next(1, 1000)).ToList(); var volume = Enumerable.Range(0, numBars).Select(n => rnd.Next(0, 100)).ToList(); priceDataSeries.Append(times, open, high, low, close); volumeDataSeries.Append(times, volume); } } }