记录数据的WPF窗口、可观察采集、环形缓冲区

记录数据的WPF窗口、可观察采集、环形缓冲区,wpf,window,queue,observablecollection,circular-buffer,Wpf,Window,Queue,Observablecollection,Circular Buffer,我们得到了一个基于MVVM模式的WPF应用程序。我们在一个滚动窗口中显示从一块硬件提交的日志数据。 记录数据(仅字符串)由硬件连续写入ViewModel中的ObservableCollection。 这个很好用。ObservableCollection的容量是有限的,例如1000条线路。 一旦达到限制,我们希望删除旧的行并填充新的日志数据。(我们需要一个环形缓冲区) 我们试图删除集合的前30%,而将其余部分移到开头。但这对这样的收藏不起作用。 我们还尝试使用队列,这很有意义。但是WPF窗口没有更

我们得到了一个基于MVVM模式的WPF应用程序。我们在一个滚动窗口中显示从一块硬件提交的日志数据。 记录数据(仅字符串)由硬件连续写入ViewModel中的ObservableCollection。 这个很好用。ObservableCollection的容量是有限的,例如1000条线路。 一旦达到限制,我们希望删除旧的行并填充新的日志数据。(我们需要一个环形缓冲区) 我们试图删除集合的前30%,而将其余部分移到开头。但这对这样的收藏不起作用。 我们还尝试使用队列,这很有意义。但是WPF窗口没有更新:绑定不起作用。 你知道吗?谢谢


SunnyApril

也许您可以在这里找到一个解决方案[1]:如果大小大于1000,为什么不添加日志数据并删除可观察集合的最后一个对象?当您从可观察集合中删除一行时,有什么不起作用?当你得到一个新的值时,你可以绑定到一个正好1000的列表,并更新整个列表。