【问题标题】:What is a fast way to render a log view in WPF?在 WPF 中呈现日志视图的快速方法是什么?
【发布时间】:2009-01-10 05:29:07
【问题描述】:

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

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-23
        • 1970-01-01
        • 1970-01-01
        • 2014-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多