所以我开始使用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)
};
}
}
您没有将任何内容绑定到笛卡尔图。您应该将 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 ....