为什么我的LiveCharts图表未显示任何值?

时间:2018-06-28 15:11:20

标签: c# .net wpf livecharts

所以我刚开始使用LiveCharts,我浏览了文档并尝试构建我的第一个项目。 我创建了一个控件并将Series属性绑定到一个值,但是在实际控件上没有显示任何内容,为什么呢?我错过了什么?如何解决这个问题?什么都没有出现这一事实背后的逻辑是什么?

XAML

<Grid>
    <wpf:CartesianChart Series="{Binding observableValues}" />
</Grid>

CS

public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            DataContext = this;

            var doubleValues = new ChartValues<double> { 1, 2, 3 };
            var intValues = new ChartValues<int> { 1, 2, 3 };

            //the observable value class is really helpful, it notifies the chart to update
            //every time the ObservableValue.Value property changes
            var observableValues = new ChartValues<LiveCharts.Defaults.ObservableValue>
            {
                new LiveCharts.Defaults.ObservableValue(1), //initializes Value property as 1
                new LiveCharts.Defaults.ObservableValue(2),
                new LiveCharts.Defaults.ObservableValue(3)
            };
        }
    }

1 个答案:

答案 0 :(得分:0)

不绑定任何东西到笛卡尔图表。您应该添加observableValues作为MainWindow的属性。

public partial class MainWindow : Window
    {
        public ChartValues<LiveCharts.Defaults.ObservableValue> observableValues
        {
            get;
            set;
        }

        public MainWindow()
        {
            InitializeComponent();
            DataContext = this;

            var doubleValues = new ChartValues<double> { 1, 2, 3 };
            var intValues = new ChartValues<int> { 1, 2, 3 };

            //note that i'm setting the property and i'm not using 'var' keyword
            observableValues = new ChartValues<LiveCharts.Defaults.ObservableValue>
            {
                new LiveCharts.Defaults.ObservableValue(1), //initializes Value property as 1
                new LiveCharts.Defaults.ObservableValue(2),
                new LiveCharts.Defaults.ObservableValue(3)
            };
        }
    }

如果您观看“输出窗口”,将会看到绑定错误:

System.Windows.Data Error: 40 : BindingExpression path error ....