protected virtual void OnDraw(SpriteBatch batch, Rectangle controlArea, GameTime gameTime)
{
// Background-Bereich ermitteln und zeichnen
Rectangle controlWithMargin = new Rectangle(
controlArea.X + Margin.Left,
controlArea.Y + Margin.Top,
controlArea.Width - Margin.Left - Margin.Right,
controlArea.Height - Margin.Bottom - Margin.Top);
OnDrawBackground(batch, controlWithMargin, gameTime, AbsoluteAlpha);
// Content-Bereich ermitteln und zeichnen
Rectangle controlWithPadding = new Rectangle(
controlWithMargin.X + Padding.Left,
controlWithMargin.Y + Padding.Top,
controlWithMargin.Width - Padding.Left - Padding.Right,
controlWithMargin.Height - Padding.Bottom - Padding.Top);
OnDrawContent(batch, controlWithPadding, gameTime, AbsoluteAlpha);
// Fokus-Frame
if (Focused == TreeState.Active)
OnDrawFocusFrame(batch, controlWithMargin, gameTime, AbsoluteAlpha);
}