I am using Livechart2 and when I update the value it doesn't take effect immediately,You have to drag the mouse to update the value. I use one ObservableCollection,in JobModel contains Series for Chart init
Init Chart
private void InitChartValue()
{
ValueChar = new LiveChartsCore.Defaults.ObservableValue(0);
myGaugeItem = new GaugeItem(
ValueChar,
series =>
{
series.MaxRadialColumnWidth = 50;
series.DataLabelsSize = 20;
//series.Fill = new SolidColorPaint(new SKColor(235, 46, 59, 255)); // Red Color
series.Fill = new SolidColorPaint(new SKColor(20, 182, 12, 255)); // Green color
series.DataLabelsPaint = new SolidColorPaint(SKColors.Red);
series.InnerRadius = 60;
series.RelativeOuterRadius = 0;
series.RelativeInnerRadius = 0;
});
Series[0] = GaugeGenerator.BuildSolidGauge(myGaugeItem);
Series[1] = GaugeGenerator.BuildSolidGauge(myGaugeItem);
Series[2] = GaugeGenerator.BuildSolidGauge(myGaugeItem);
Series[3] = GaugeGenerator.BuildSolidGauge(myGaugeItem);
}
Update Chart MVVM
private void OnStartClick(JobsModel model)
{
Debug.WriteLine($"Start Job {model.JobId} Click !");
switch (model.JobId)
{
case 0:
model.StatusColor = new SolidColorBrush(Color.Parse("#00C752"));
model.Series = Series[0];
break;
case 1:
model.StatusColor = new SolidColorBrush(Color.Parse("#00C752"));
model.Series = Series[1];
break;
case 2:
model.StatusColor = new SolidColorBrush(Color.Parse("#00C752"));
model.Series = Series[2];
break;
case 3:
model.StatusColor = new SolidColorBrush(Color.Parse("#00C752"));
model.Series = Series[3];
break;
default:
break;
}
}