如何在面板中高效显示大量的UIElements?

时间:2013-07-04 02:49:17

标签: c# wpf performance memory uielement

这是一个场景:在UIElement中显示大量Panel个。

由于这些控件的数量可能很大,我担心内存分配和性能问题。

可视化是一个选项,但我希望能够做得更好,因为目标是显示这些控件的内容,而不需要处理鼠标或键盘事件。

有没有办法在这种情况下提高性能?

感谢。

3 个答案:

答案 0 :(得分:0)

您可以使用普通ListBox来显示它们,默认面板是VirtualizingStackPanel,默认情况下IsVirtualizing属性设置为true。

VirtualizingStackPanel

您目前是否遇到性能问题或在发生这些问题时做好准备?在您生成并显示所有内容并发现问题后,我只会担心性能。

这篇文章提供了一些如何管理大型数据集和虚拟化的示例:http://www.codeproject.com/Articles/34405/WPF-Data-Virtualization

答案 1 :(得分:0)

你说可视化......我假设你的意思是虚拟化?如果是,那么您可能会或可能不会了解此网站:http://msdn.microsoft.com/en-us/library/cc716879.aspx

除虚拟化外,他们还谈论延迟滚动。我希望这会有所帮助。

答案 2 :(得分:0)

我认为这些可以帮到你:
1。 Optimize Layout and Design
2。 Optimize Text
所有其他有关绩效的有用链接可以在这里找到:http://msdn.microsoft.com/en-us/library/aa970683.aspx但我认为2上面的链接在你的情况下会很好。