【发布时间】:2013-02-06 21:06:47
【问题描述】:
有时Border 控件或Rectangle 控件将满足我的需求。例如,当我正在实现 ControlTemplate 并且我已经在应用分层技术(即在 Grid 中堆叠控件)时,我不需要将不同的 RadiusX 或 RadiusY 应用于角落。
然而,在设计这样的 ControlTemplates 时,有时我最终会使用 几个 这样的边框或矩形层。因此,我意识到我可能应该认识到哪个控件对应用程序的性能影响最小。我看到它们的继承层次结构在 FrameworkElement 之后出现了分歧。而且我还注意到 Border 是一个装饰器控件(我使用过装饰器,但我不确定它们相对于其他控件的性能如何)。有人能解释一下吗
1) 我们如何能够根据特定的继承层次对控件的性能影响得出一些一般性结论?
2) 装饰器(例如 Border)相对于其他控件的表现如何?
3) 特别是关于 Border 和 Rectangle,哪个表现更好?
【问题讨论】:
-
说实话,我从来没有遇到过边框或矩形的性能问题。
-
我不认为使用边框或矩形会影响您的应用程序性能,您应该担心效果(如阴影)和动画,它们会影响您的应用程序性能的方式是相当可观的。在那些不会显着影响性能的情况下,我更喜欢提高代码的可读性,在需要边框时使用边框,在需要矩形时使用矩形。
-
对于 WPF 中的任何图形性能问题都必须这样做:stackoverflow.com/a/33532790/347484
标签: wpf wpf-controls