所以我正在尝试更新我的 RadRadialGauge。它将显示实时检索的数据(使用动画针)。我有一个 RadChartView,目前通过使用TimeStamp
和Value
属性来绘制图表。当我添加图表时,有时我可能想根据我正在观察的变量添加一些图表。例如,如果我想查看电机速度和输出频率,我必须添加多个垂直轴。我处理 RadChartView 数据绑定的部分代码在这里:
var lineSeries = new LineSeries();
lineSeries.CategoryBinding =
new PropertyNameDataPointBinding() { PropertyName = "TimeStamp" };
lineSeries.ValueBinding =
new PropertyNameDataPointBinding() { PropertyName = "Value" };
lineSeries.ItemsSource = (chart.Chart as GuiAnalogQueue).Records;
其余代码只是外观处理,最后我将 LineSeries 添加到我的 RadChartView。
现在,我正试图以某种方式将此代码移植到 RadGauge。我不确定如何将值绑定到针,以便在值更改时针移动。
在我尝试过的 XAML 中,我Value="{Binding Value}"
尝试向ValueSource
变量添加绑定。我也做过needle.Value = chart.Chart.Value;
我无法弄清楚,所以任何帮助表示赞赏。
更新
这就是我想要完成的。我的Records
收藏有两个属性,Value
和TimeStamp
. 我正在尝试将我的值绑定Value
到Records
值needle
。这是我以编程方式执行此操作的方法:
public void InitializeCharts(ChartsVM charts, Theme theme)
{
DataContext = charts;
foreach (cVM chart in charts.Charts)
{
Binding value = new Binding();
value.Source = (chart.Chart as GuiAnalogQueue).Records;
value.Path = new PropertyPath("Value");
needle.SetBinding(Needle.ValueProperty, value);
}
}
但是,当我这样做时,它根本没有改变needle.Value
。MyRecords
是使用 NotifyPropertyChanged("Records") 的集合,所以我希望每次更改 Records 时我的针都会改变。
正如您在我的原始帖子中看到的那样,这三行负责将变量绑定到 ChartView 图表,但是我无法让 RadGauge 工作。