'How to use ObservableCollection with LiveChart2
How to use ObservableCollection with LiveCharts2
I am trying to implement LiveChart2 using ObservableCollection to update the chart everytime a new value is added. The chart works fine if I add all the data at once but I am stuck in implementing "ObservableCollection". Link to doc: https://github.com/beto-rodriguez/LiveCharts2/blob/master/docs/overview/1.4.automatic%20updates.md I need help please. I have this code:
using System.Collections.ObjectModel;
using System.Windows;
using LiveChartsCore;
using LiveChartsCore.Defaults;
using LiveChartsCore.SkiaSharpView;
namespace WpfSample
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        public ISeries[] Series { get; set; }
       public ObservableCollection<ObservableValue> Series2 { get; set; }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            // This one is not working ///////////////////////////////////
            Series2 = new ObservableCollection<ObservableValue>();
            Series2.Add(new ObservableValue { Value = 1 });
            Series2.Add(new ObservableValue { Value = 2 });
            Series2.Add(new ObservableValue { Value = 3 });
            // every time you update the Value property, you will also see that change in the user interface
            Series2[0].Value = 5;
            // This one is working fine
            Series = new ISeries[]
            {
                new LineSeries<double>
                {
                    Values = new double[] { 6, 4, 3, 9, 4, 2, 1 },
                }
            };
             
            DataContext = this;
        }
    } 
}
<Window x:Class="WpfSample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfSample"
        xmlns:lvc="clr-namespace:LiveChartsCore.SkiaSharpView.WPF;assembly=LiveChartsCore.SkiaSharpView.WPF"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <lvc:CartesianChart 
            Series="{Binding Series}" Margin="4,4,433,174">
        </lvc:CartesianChart>
        <lvc:CartesianChart 
            Series="{Binding Series2}" Margin="403,0,0,177">
        </lvc:CartesianChart>
        <Button Content="Button" HorizontalAlignment="Left" Margin="728,318,0,0" VerticalAlignment="Top" Click="Button_Click"/>
    </Grid>
</Window>
							
						Solution 1:[1]
Maybe try something like this:
public ObservableCollection<ISeries> Series2 { get; set; }
private void Button_Click(object sender, RoutedEventArgs e)
{  
     Series2 = new ObservableCollection<ISeries>();
     Series2.Add(new LineSeries<double> { Values = new List<double> {1,2,3 } });
}
    					Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source | 
|---|---|
| Solution 1 | 
