我想在WPF中有一个高效的日志查看器控件,它只是在添加消息时显示实时日志.连接来自日志系统的通知没有问题,但是我担心一旦日志数量变大,日志窗口就会随着每个追加的日志行进行爬行.
日志通知事件将只提供一个日志字符串(以及一些元数据),我想要附加到TextBox中的行或带有滚动条的类似行.假设有足够的内存,附加大量的行不应该是内存问题,但我不希望一旦添加行号10,000,系统就会变慢.
我假设一旦字符串进入MB大小和数千行,将TextBox绑定到简单的字符串依赖属性将变得相当慢.
如何在WPF中有效地编写这样的控件?
bli*_*eis 11
为什么不使用列表框?创建一个集合,每次都添加日志消息,并将此集合绑定到itemscontrol itemssource.
编辑:我在我的项目中使用数据网格来显示来自WCF服务的消息
EDIT2:一些Itemsscontrols具有以下属性,应该有所帮助:
<ListBox VirtualizingStackPanel.IsVirtualizing="True" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7989 次 |
| 最近记录: |