我希望 WPF 中有一个高效的日志查看器控件,它可以在添加消息时简单地显示实时日志。连接来自日志系统的通知是没有问题的,但我担心一旦日志行数量变大,日志窗口将随着每个附加日志行而变得缓慢。
日志通知事件将仅提供一个日志字符串(以及一些元数据),我想将其附加到文本框或类似滚动条中的行。假设有足够的内存,添加大量行应该不是内存问题,但我不希望系统在添加行号 10,000 后减慢。
我假设一旦字符串达到 MB 大小和数千行,将 TextBox 绑定到简单的字符串依赖属性将会变得相当慢。
如何在 WPF 中高效地编写这样的控件?
为什么不使用列表框?创建一个集合,您每次都在其中添加日志消息,然后将此集合绑定到您的 itemscontrol itemssource。
编辑:
我在项目中使用数据网格来显示来自 WCF 服务的消息
编辑2:
一些 Itemss 控件具有以下内容property http://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.isvirtualizing.aspx这应该有帮助:
<ListBox VirtualizingStackPanel.IsVirtualizing="True" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)