LiveChart2 Gauge only update when mouseover it

34 Views Asked by At

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;
      }
  }
0

There are 0 best solutions below