gpt4 book ai didi

c# - Telerik RadGauge + 数据绑定(bind)

转载 作者:行者123 更新时间:2023-11-30 15:03:20 29 4
gpt4 key购买 nike

所以我正在尝试更新我的 RadRadialGauge。它将显示实时检索的数据(使用动画针)。我有一个 RadChartView,目前通过使用 TimeStampValue 属性来绘制图表。当我添加图表时,有时我可能想根据我正在观察的变量添加一些图表。例如,如果我想观察电机速度和输出频率,我必须添加多个垂直轴。我处理 RadChartView 数据绑定(bind)的部分代码位于此处:

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。我不确定如何将值绑定(bind)到针,以便针在值更改时移动。
在 XAML 中,我尝试了 Value="{Binding Value}" 我尝试将绑定(bind)添加到 ValueSource 变量。我也做了 needle.Value = chart.Chart.Value;

我想不出来,所以感谢任何帮助。

更新

这就是我想要完成的。我的 Records 集合有两个属性,ValueTimeStamp。我正在尝试将 Records 中的 Value 绑定(bind)到 needle Value。这是我以编程方式执行此操作的方法:

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。我的 Records 是使用 NotifyPropertyChanged("Records") 的集合,所以我希望每次 Records 更改时我的指针都会更改。

正如您在我的原始帖子中看到的那样,这三行负责将变量绑定(bind)到 ChartView 图表,但是我无法让 RadGauge 工作。

最佳答案

简而言之,我发现 Needle 的值不使用任何类型的集合。因此,当我尝试将 Source 和 Path 设置为集合内部时,它并不是很喜欢那样。相反,我在将值添加到记录集合之前添加了一个属性(在我的更新值函数中)。这样我就可以将我的绑定(bind)设置为:

Binding value = new Binding();         
value.Source = (chart.Chart as GuiAnalogQueue);
value.Path = new PropertyPath("AnalogValue");
needle.SetBinding(Needle.ValueProperty, value);

也就是说,Needle 会将其 Value 属性与 Source--chart.Chart 中的 AnalogValue 属性绑定(bind)为 GuiAnalogQueue。

如果您被定向到此页面,希望这对您有所帮助。

关于c# - Telerik RadGauge + 数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11671319/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com