在WPF中呈现日志视图的快速方法是什么?

我正在编写一个需要类似日志视图的应用程序(类似于IM客户端在对话中显示消息的方式),每秒可能有很多更新。 速度是一个问题; 由于大量传入事件而导致应用程序锁定是一个可能的问题。 我需要选择和基本的文本格式,因此手动渲染可能会变得非常复杂,我想尽可能避免它。 我还想底部锚定滚动条,也就是说,如果它位于底部,则在添加新项目时保持在底部。 实现这个的好方法是什么?

您可以在WPF中轻松实现它。

  1. 创建Log实体的ObservableCollection并绑定到ListBox。
  2. 为ListBox.ItemTemplate提供DataTemplate。

*当实时运行时,您需要UI端或数据端虚拟化检查我的PaginatedObservableCollection,以便DataVirtualization将自动运行。

我认为您应该看一下ListView / ListBox控件,它们支持UI虚拟化并提供您正在寻找的function。 您还可以通过数据虚拟化/延迟加载来提高性能 – 即不要在内存中保留不可见的项目并按需加载所需的数据