WPF布局面板(如网格)的过度嵌套在计算上是否昂贵?

WPF布局面板(如网格)的过度嵌套在计算上是否昂贵?,wpf,performance,user-interface,xaml,layout,Wpf,Performance,User Interface,Xaml,Layout,乡亲们 我从一位同事那里听说,作为一名使用Microsoft Expression Blend的设计师,我应该避免使用过多的面板元素嵌套,因为它们在计算上非常昂贵 例如,我倾向于创建带有标题的主窗口和带有网格的自定义状态栏,然后取顶部面板并在其中放置一个网格,如果我在已经网格化的顶部面板上的矩形内有一条消息,我会创建另一个网格,等等 作为一个非常注重布局的设计师(无论屏幕尺寸如何,他都希望最有效地使用每个屏幕),我知道考虑到绝对控制和灵活性,这是最好的方法,可以防止窗口以“不可预测”的方式调整大

乡亲们

我从一位同事那里听说,作为一名使用Microsoft Expression Blend的设计师,我应该避免使用过多的面板元素嵌套,因为它们在计算上非常昂贵

例如,我倾向于创建带有标题的主窗口和带有网格的自定义状态栏,然后取顶部面板并在其中放置一个网格,如果我在已经网格化的顶部面板上的矩形内有一条消息,我会创建另一个网格,等等

作为一个非常注重布局的设计师(无论屏幕尺寸如何,他都希望最有效地使用每个屏幕),我知道考虑到绝对控制和灵活性,这是最好的方法,可以防止窗口以“不可预测”的方式调整大小;oP

但是。。。 …我的一个朋友说,如果你有,比如说,五个网格相互嵌套,如果你把鼠标放在它们上面,你会生成五个鼠标事件,这是非常昂贵的

此外,如果由于在实际渲染之前有太多容器要求子对象大小,因此计算量过多,那么也可能会很昂贵

我以前有过使用PyGtk的经验,我必须说我在我的所有脚本中使用了很多布局面板,甚至在我看来,调整窗口的大小从来都不是特别昂贵的,除非我有一些复杂的画布绘图需要重新计算

有人对此有经验或了解吗


非常感谢您阅读

我不会太担心它,就我而言,到目前为止还没有遇到任何问题。应用一些常识,在这种情况下需要哪些面板?你真的需要另一个小组来实现你的目标吗


MSDN关于这个问题的文章可能会引起人们的兴趣,因为它解释了一些不直截了当的事情:

对此没有直接的答案,但很明显,参与布局的元素越多,窗口所用的时间就越长。根据您使用的配电盘类型的哪些功能,其成本可能会有所增加或减少,但可以肯定的是,在布局计算过程中,您使用的功能越多,开销就越大。您可以通过了解布局系统如何工作的更多信息


最后,除非你疯了,否则这通常不会成为问题。为了找出它是否会给你的应用程序带来问题,我建议用它做一些性能测试。

我非常感谢你的链接。最后,我认为布局操作不会受到限制,特别是考虑到程序将完成的其他处理。谢谢