Emrah Duatepe Ответов: 1

Попытка oxyplot в реальном времени


Привет друзья, я пытаюсь пример в реальном времени с VisualStudio с помощью OxyPlot.Я не мог понять приложение WPF ,не могли бы вы мне помочь ? Это очень важно для машинного интерфейса.

Что я уже пробовал:

<pre lang="c#"> private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Interval = 100;
            timer1.Start();
            lastTimerTick = DateTime.Now;
            pv.Model.Title = "DateTime";

            pv.Model.Axes.Add(new LinearAxis { Position = AxisPosition.Left, Minimum = -5, Maximum = 5 });

           
            pv.Model.Series.Add(lineSeries);
            pv.Model.InvalidatePlot(true);
            DateTime.UtcNow.AddTicks(0);
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            //double t0 = this.watch.ElapsedMilliseconds * 0.001;
            
            TimeSpan key = DateTime.Now - lastTimerTick;
            float t1 = (float)key.TotalMilliseconds / 1000;
            
            lineSeries.Points.Add(new DataPoint(i++,rnd.NextDouble()));

            textBox1.Text = t1.ToString();
            
            if (lineSeries.Points.Count > 20)
            {
                lineSeries.Points.RemoveAt(0);
            }
                
            pv.Refresh();
        }

1 Ответов

Рейтинг:
0

RickZeeland

Вам, вероятно, нужно использовать Диспетчер.Метод checkaccess() поскольку метод таймера находится в другом потоке, смотрите ответы здесь: c# - InvokeRequired в wpf - переполнение стека[^]