public PaletteInputControlTripleRedirect(PaletteRedirect redirect,
PaletteBackStyle backStyle,
PaletteBorderStyle borderStyle,
PaletteContentStyle contentStyle,
NeedPaintHandler needPaint)
{
Debug.Assert(redirect != null);
// Store the provided paint notification delegate
NeedPaint = needPaint;
// Store the inherit instances
_backInherit = new PaletteBackInheritRedirect(redirect, backStyle);
_borderInherit = new PaletteBorderInheritRedirect(redirect, borderStyle);
_contentInherit = new PaletteContentInheritRedirect(redirect, contentStyle);
_metricRedirect = new PaletteMetricRedirect(redirect);
// Create storage that maps onto the inherit instances
_back = new PaletteInputControlBackStates(_backInherit, needPaint);
_border = new PaletteBorder(_borderInherit, needPaint);
_content = new PaletteInputControlContentStates(_contentInherit, needPaint);
}