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

时间:2009-01-10 05:29:07

标签: c# wpf

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

2 个答案:

答案 0 :(得分:5)

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

  1. 创建Log实体的ObservableCollection并绑定到ListBox。
  2. 为ListBox.ItemTemplate提供DataTemplate。
  3. *实时运行时,您需要UI端或数据端虚拟化 查看我的PaginatedObservableCollection,以便DataVirtualization自动运行。

答案 1 :(得分:0)

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