这是场景:UIElement
在 a 中显示很多 s Panel
。
由于这些控件的数量可能很大,我担心内存分配和性能问题。
可视化是一个选项,但我希望能够做得更好,因为目标只是显示这些控件的内容,不需要处理鼠标或键盘事件。
在这种情况下有什么方法可以提高性能吗?
谢谢。
这是场景:UIElement
在 a 中显示很多 s Panel
。
由于这些控件的数量可能很大,我担心内存分配和性能问题。
可视化是一个选项,但我希望能够做得更好,因为目标只是显示这些控件的内容,不需要处理鼠标或键盘事件。
在这种情况下有什么方法可以提高性能吗?
谢谢。
You can just use a normal ListBox
to display them, the default panel is the VirtualizingStackPanel
which has IsVirtualizing
property set to true by default.
Are you currently running into performance issues or preparing for them in case they happen? I would only worry about performance after you've generated and displayed all of your content and noticed problems.
Here is an article with some examples of how to manage large data sets and virtualization: http://www.codeproject.com/Articles/34405/WPF-Data-Virtualization
你说可视化......我假设你的意思是虚拟化?如果是这样,那么您可能知道也可能不知道这个网站:http: //msdn.microsoft.com/en-us/library/cc716879.aspx
除了虚拟化,他们还谈到了延迟滚动。我希望这有帮助。
我认为这些应该对您有所帮助:
1.优化布局和设计
2.优化文本
关于性能的所有其他有用链接都可以在这里找到:http: //msdn.microsoft.com/en-us/library/aa970683.aspx但我认为以上 2 个链接适用于您的情况。