Я уже несколько дней пытаюсь встроить живую диаграмму в мое приложение WPF.
Мне нужна простая диаграмма. Ряд столбцов, который должен показывать значения int в виде столбцов и ниже отметки времени.
Я создал его с помощью MVVM и попытался найти решение с помощью этого руководства. https://lvcharts.net/App/examples/v1/wpf/Basic%20Column
Мой XAML-код:
<lvc:CartesianChart>
<lvc:CartesianChart.Series>
<lvc:ColumnSeries Values="{Binding RawDataSeries, UpdateSourceTrigger=PropertyChanged}" />
</lvc:CartesianChart.Series>
<lvc:CartesianChart.AxisX >
<lvc:Axis Labels="{Binding Labels}">
<lvc:Axis.Separator>
<lvc:Separator Step="1"></lvc:Separator>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisX>
</lvc:CartesianChart>
Мой тестовый код в модели представления:
public void SetChart(int value)
{
var customerVmMapper = Mappers.Weighted<DateTimePoint>().X((x, index) => index).Y(x => x.Value);
Charting.For<DateTimePoint>(customerVmMapper);
var list = new List<DateTimePoint>()
{
new DateTimePoint() {Timestamp = DateTime.Now, Value = value},
new DateTimePoint() {Timestamp = DateTime.Now, Value = 78},
new DateTimePoint() {Timestamp = DateTime.Now, Value = 21}
};
var values = new ChartValues<DateTimePoint>();
foreach (var obj in list)
{
values.Add(obj);
}
RawDataSeries = values;
}
public ChartValues<DateTimePoint> RawDataSeries
{
get => _rawDataSeries;
set
{
_rawDataSeries = value;
OnPropertyChanged();
}
}
public class DateTimePoint
{
public DateTime Timestamp { get; set; }
public int Value { get; set; }
}
У кого-нибудь есть совет для меня?