Resize(availableWidth, size.Height);
- var rawSize = Native.TextHelper.GetRawTextBlockSize(this);
var formattedSize = Native.TextHelper.GetFormattedTextBlockSize(this);
Resize(size.Width, size.Height);
// Set bottom padding for lower case letters that have segments below the bottom line of text (g, j, p, q, y).
var verticalPadding = (int)Math.Ceiling(0.05 * FontSize);
- rawSize.Height += verticalPadding;
formattedSize.Height += verticalPadding;
// This is the EFL team's guide.
// For wrap to work properly, the label must be 1 pixel larger than the size of the formatted text.
- rawSize.Width += 1;
formattedSize.Width += 1;
- if (rawSize.Width > availableWidth)
- {
- return new ESize()
- {
- Width = formattedSize.Width,
- Height = Math.Min(formattedSize.Height, Math.Max(rawSize.Height, availableHeight)),
- };
- }
- else
- {
- return formattedSize;
- }
+ return formattedSize;
}
void ApplyTextAndStyle()
protected override Size MinimumSize()
{
- return new Size(Control.MinimumWidth, Control.MinimumHeight);
+ return Control.Measure(Control.MinimumWidth, Control.MinimumHeight).ToDP();
}
Native.FormattedString ConvertFormattedText(FormattedString formattedString)