微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决WPF布局面板例如网格的过多嵌套在计算上是否昂贵?

| 乡亲 我从一位同事那里听说,作为Microsoft Expression Blend的设计师,我应该避免使用过多的面板元素嵌套,因为它们在计算上很昂贵。 例如,我倾向于使用标题创建主窗口,并使用网格创建自定义状态栏,然后将顶部面板放在其中并放置网格,如果在已网格化的顶部面板上的矩形内有一条消息,则创建另一个网格等 作为一个非常注重布局的设计者(无论屏幕尺寸如何,他都想最有效地使用每个屏幕)我知道这是考虑到绝对控制和灵活性的最佳方法,因为这可以防止窗口以“不可预测的”大小进行调整。方式 但... ...这个我的朋友说,如果您有五个相互嵌套的网格,如果将鼠标移到它们上方,则会生成五个鼠标事件,这很昂贵。 同样,如果由于太多的容器而导致太多的计算,而在实际渲染之前要求子尺寸的容器太多,那么这也可能会很昂贵。 我以前有过使用PyGtk的经验,我必须说,我对所有脚本都使用了很多布局面板,即使我没有必要特别调整窗口的大小,除非我需要一些复杂的画布绘图时重新计算。 有没有人有经验或对此一无所知? 非常感谢您的阅读     

解决方法

        对此没有直接的答案,但是很明显,您参与布局的元素越多,该窗口的度量和安排阶段所花费的时间就越长。根据使用哪种面板类型的功能,它的成本或多或少会有所不同,但可以肯定的是,使用的面板越多,布局计算期间的开销就越大。通过阅读整篇MSDN文章,可以了解有关布局系统如何工作的更多信息。 最后,除非您发疯了,否则这通常不会成为问题。为了找出它是否对您的应用造成了问题,我建议使用WPF Performance Suite进行一些性能测试。     ,        不必担心那么多,到目前为止,我还没有遇到任何问题。运用一些常识,在这种情况下需要哪些面板?您是否真的需要另一个小组来实现您的目标? 有关此问题的MSDN文章可能会引起关注,因为它解释了一些不直接的内容:优化性能:布局和设计     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。