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?
Besides what it inherits from FrameworkElement
, the Decorator
class implements a Child
property (of type UIElement
), as well as implementing the IAddChild
interface. Thus Decorator
is the most primitive element that can contain another element.
Is there a reason you were not able to use a Border
element (which inherits from Decorator
) to create the border around the child element?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With