我正在编写一个需要类似日志视图的应用程序(类似于IM客户端在对话中显示消息的方式),每秒可能有很多更新。速度是一个问题;由于大量传入事件导致应用程序锁定是一个可能的问题。我需要选择和基本的文本格式,所以手动渲染可能会变得非常复杂,我想尽可能避免它。我还想底部锚定滚动条,也就是说,如果它在底部,则在添加新项目时保持在底部。什么是实现这个的好方法?
答案 0 :(得分:5)
您可以在WPF中轻松实现它。
*实时运行时,您需要UI端或数据端虚拟化 查看我的PaginatedObservableCollection,以便DataVirtualization自动运行。
答案 1 :(得分:0)
我认为您应该查看ListView / ListBox控件,它们支持UI虚拟化并提供您正在寻找的功能。您还可以通过数据虚拟化/延迟加载来提高性能 - 即不要在内存中保留不可见的项目并按需加载所需的数据