首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用WPF中的XamDataChart实现信号显示

利用WPF中的XamDataChart实现信号显示
EN

Stack Overflow用户
提问于 2013-05-01 21:33:25
回答 1查看 1.4K关注 0票数 0

我正在做一个信号发生器项目,我发现很难理解Infragistics是如何工作的。

该项目使用WPF和MVVM模型,其中MainWindow绑定到一个ViewModel,它从模型类(在我的例子中是SigGenChannel.cs)获取所有数据,所有信号值以及定时和刷新都是在模型类中完成的,并一直绑定到MainWindow,在那里我有一个显示当前值(信号值)的文本字段,它在100ms时自动刷新。

因此,我拥有的两个值是当前信号值(CurrentValue)和当前时间(CurrentStepTime),如何使用XamDataChart映射这两个数据点,并使其以与文本字段相同的速率刷新,并在图表上以信号波的形式显示数据?

感谢您的帮助,如果您需要任何特定的代码片段,请让我知道

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-02 13:57:07

如果您更改绑定集合的项,XamDataChart将自动刷新系列的视觉效果,前提是绑定集合实现INotifyCollectionChanged。如果你不想显示“滚动窗口”的效果,你可以在集合的末尾添加新的点,并从集合的头部删除点,这样数据就会从右向左滚动。

由于您的X轴是时间,因此您有两个选项来设置序列。您可以使用CategoryXAxis,它将时间视为字符串值,并且每个数据点与前一个数据点的距离相等(不过,如果您具有恒定的采样率,这是合适的);或者,如果您的采样率不是恒定的,并且您希望这些值恰好出现在与其时间值相等的水平位置,则可以使用CategoryDateTimeXAxis。在任何一种情况下,您都可以将数据绑定到轴的ItemsSource,以便轴知道有多少项并可以检索标签。对于CategoryXAxis,您可以指定标签应该来自CurrentStepTime,但是对于CategoryDateTimeXAxis,您需要另外指定CurrentStepTime应该用于DateTimeMemberPath。

使用CategoryDateTimeXAxis的缺点是它的效率比CategoryXAxis低,所以除非您需要非恒定时间采样,否则我会坚持使用后者。

在这两种情况下,您都将创建一个line (或其他类别)系列,将数据绑定到ItemsSource,并将ValueMemberPath设置为CurrentValue。

我认为这个样本可以进一步阐明问题:http://www.infragistics.com/products/silverlight/sample/data-chart/#/binding-real-time-data

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16319093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档