Тормозит обновление Oxyplot графика в Wpf
Нужно вывести график в реальном времени, обновляемый раз в секунду. Проблема в том, что график обновляется только когда я меняю размер окна, в ином случае он просто не перерисовывается.
Wpf:
<Grid Name="grid" Margin="10,99,11.6,45.4">
<oxy:Plot Name="Plot" Margin="10,0">
<oxy:Plot.Series>
<oxy:LineSeries Name="LineSeries" ItemsSource="{Binding Points}"/>
</oxy:Plot.Series>
</oxy:Plot>
</Grid>
C#:
line = new LineSeries() { };
// заполнение List со значениями из БД
double j = 0;
for (int i = request_ListValueMessage.data.Length - 1; i >= 0; i--)
{
line.Points.Add(new DataPoint(j, Convert.ToDouble(request_ListValueMessage.data[i])));
j++;
Debug.WriteLine(j + " " + Convert.ToDouble(request_ListValueMessage.data[i]));
}
//прорисовка графика первый раз
LineSeries.DataContext = line;
//запуск таймера
DispatcherTimer timer1 = new DispatcherTimer
{
Interval = TimeSpan.FromSeconds(1)
};
timer1.Tick += ValueRequest;
timer1.Start();
Метод в таймере:
public void ValueRequest(object sender, EventArgs e)
{
client = new Client("127.0.0.1", 80);
string LastValueMessage = client.message(3, new string[1] { ComboBoxChoiseSensors.Text });
Request request = new Request(LastValueMessage);
LastValue = Convert.ToDouble(request.data[0]); // получение нового значения
//добавление нового значения в конец List
line.Points.Add(new DataPoint(line.Points.Count + 1, LastValue));
line.Points.RemoveAt(0); //удаление первого
//обновление List
double j = 0;
for (int i = 0; i < line.Points.Count - 1; i++)
{
line.Points[i] = (new DataPoint(i, line.Points[i].Y));
j++;
}
}
В Oxyplot разбираюсь плохо, укажите, пожалуйста, конкретно что и куда добавить.