有很多时候,一个以上的面板会适合我想要的布局,但我知道有不同的面板类型渲染时间的差异。
例如,MSDN指出
一个相对简单的
Panel
,如Canvas
,可以有显着 性能优于更复杂的Panel
,如Grid
。
那么,就渲染时间和性能而言,WPF 面板的效率最高的顺序是什么?
WPF 小组:
Canvas
DockPanel
Grid
UniformGrid
StackPanel
WrapPanel
VirtualizingPanel
/VirtualizingStackPanel
我很确定我在网上看到过这个的清单但我现在找不到了。
理想的答案,我正在寻找将为我提供一个面板的顺序,他们将渲染最快的列表。我知道孩子的数量是影响面板效率的一个重要因素,所以为了回答这个问题,假设每个面板只有一个 Label
/TextBox
对。
此外,我希望列出一些例外情况,例如在某些条件下,某些面板的性能要优于其他面板。
更新
根据下面的 接受的答案总结一下,面板的性能是基于子项目的数量和布局,但一般来说,从最快到最慢的列表是:
Canvas
StackPanel
WrapPanel
DockPanel
Grid
此外,如果屏幕上有很多项目并不总是适合,应该始终使用 VirtualizingPanel
/VirtualizingStackPanel
。
我强烈建议你阅读下面的 接受的答案,了解更多细节,然后再从这个列表中选择一个项目。