【发布时间】:2010-03-27 14:57:21
【问题描述】:
我需要创建控件以在其子项周围绘制边框。所以,我创建了类并从装饰器派生它:
class RoundedBoxDecorator : Decorator
{
protected override Size ArrangeOverride(Size arrangeSize)
{
//some source
}
protected override void OnRender(DrawingContext dc)
{
//some source
}
}
它工作正常,但我对使用装饰器作为祖先有一些疑问。我在 MSDN 中发现其中没有特殊的方法或属性,仅源自其祖先(UIElement 或 FrameworkElement)。 ArrangeOverride 和 OnRender 也是派生的。
那么,Decorator 类的设计目的是什么?使用它是否有意义?或者我可以从 FrameworkElement 派生?
【问题讨论】: