gpt4 book ai didi

WPF 矩形与边框 : Which is better for performance?

转载 作者:行者123 更新时间:2023-12-04 08:52:45 29 4
gpt4 key购买 nike

有时,Border控制或 Rectangle控制将满足我的需求。一个例子是,当我正在实现 ControlTemplate 并且我已经在应用分层技术(即在网格中堆叠控件)时,我不需要将不同的 RadiusX 或 RadiusY 应用于角落。

然而,在设计这样的 ControlTemplates 时,有时我最终会使用几个这样的边框或矩形层。因此,我意识到我可能应该认识到哪个控件对应用程序的性能影响最小。我看到它们的继承层次结构在 FrameworkElement 之后出现了分歧。而且我还注意到 Border 是一个装饰器控件(我使用过装饰器,但我不确定它们相对于其他控件的性能如何)。有人可以阐明

1)我们如何能够基于特定的继承层次对控件的性能影响得出一些一般性结论?

2) 装饰器,例如 Border,相对于其他控件的表现如何?

3)特别是关于边框和矩形,哪个表现更好?

最佳答案

根据我的经验,WPF 边框有点轻量级,但更重要的是 - 它们代表了一种不同的需求,尽管它们通常在屏幕上呈现相同的效果。如果我正在撰写包含矩形作为其一部分的东西,那么矩形通常是合适的。如果我想在屏幕上强调某些东西,或者表明一个对象有一些不同的状态——那么我将使用边框。我经常将该边框的颜色、粗细或可见性绑定(bind)到模型的 state 属性(或适用于您的情况的任何内容),但本质区别在于边框不是对象的一部分。这是一种使该对象脱颖而出或可见的方法。

或者,如果它是一些已经组成的东西,比如一个文本框,我在它周围添加了一些颜色——这通常是一个边框。

通过牢记这一区别,它可以帮助您的 XAML 树更适合您,并为您提供以后更易于维护的代码。

关于WPF 矩形与边框 : Which is better for performance?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14738800/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com