public override Size GetPreferredSize(ViewLayoutContext context)
{
Debug.Assert(context != null);
Size preferredSize = base.GetPreferredSize(context);
if (_overridePreferredWidth != 0)
preferredSize.Width = _overridePreferredWidth;
else
_lastPreferredSize = base.GetPreferredSize(context);
if (_zeroHeight)
preferredSize.Height = 0;
return preferredSize;
}