I need to create control to draw border around its child. So, I have created class and derived it from Decorator:
class RoundedBoxDecorator : Decorator
{
protected override Size ArrangeOverride(Size arrangeSize)
{
//some source
}
protected override void OnRender(DrawingContext dc)
{
//some source
}
}
It works fine, but I have some doubts about using Decorator as ancestor. I have found in MSDN that there are no special methods or properties in it, only derived from its ancestors (UIElement or FrameworkElement). ArrangeOverride and OnRender are also derived.
So, what for Decorator class was designed and does it makes sense to use it? Or I can derive from FrameworkElement?