首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每秒钟更新一次LineGraph

每秒钟更新一次LineGraph
EN

Stack Overflow用户
提问于 2011-09-07 16:34:07
回答 1查看 445关注 0票数 0

嗨,我正在尝试每秒钟更新一张线图(从wpf数据可视化工具包)。以下代码适用于PieChart:

VB:

代码语言:javascript
复制
Private Sub Window_Loaded(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
    '  DispatcherTimer setup
    Dim dt As DispatcherTimer = New DispatcherTimer()
    AddHandler dt.Tick, AddressOf dispatcherTimer_Tick
    dt.Interval = New TimeSpan(0, 0, 1)
    dt.Start()
End Sub

Public Sub dispatcherTimer_Tick(ByVal sender As Object, ByVal e As EventArgs)
    UpadateChartData()
    Chart1.DataContext = ""
    Chart1.DataContext = ChartData
End Sub

Public Sub UpadateChartData()
    Dim r As Integer = GetRandom(1, 10)
    ChartData.Add(New ChartData() With {.Name = r.ToString, .Votes = r})
End Sub

XAML:

代码语言:javascript
复制
 <chartingToolkit:Chart Name="Chart1" Title="Chart1" Width="400" Height="400" >
        <chartingToolkit:LineSeries ItemsSource="{Binding}" IndependentValueBinding="{Binding Path=Name}" DependentValueBinding="{Binding Path=Votes}" />
</chartingToolkit:Chart>

但是,当我使用LineSeries (或任何其他类型的图表)时,我会得到这个错误:

此时无法修改此节点的逻辑子节点,因为正在进行树遍历。

有人能告诉我为什么我会出错或者建议一个替代的方法吗?

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-08 08:19:43

正如ColinE所提到的,它确实是工具箱中的一个bug。

我建议看一看动态数据显示,它确实为这类事情提供了便利,而且非常容易。它们提供了一些像ObservableDataSource<T>这样的新对象,在此基础上,您可以调用source.AppendAsync(Dispatcher, T)来更新图形。

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

https://stackoverflow.com/questions/7337409

复制
相关文章

相似问题

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