AutoEllipsis=true влияет на вертикальное расположение текста
У меня есть метка с AutoEllipsis = true
и TextAlign = ContentAlignment.MiddleLeft
. Когда я ввожу текст, который не расширяет ширину метки,текст выравнивается по вертикали до середины метки.
Однако, когда текст расширяет ширину метки, текст выравнивается не по середине, а по верху.
Почему он ведет себя таким образом, и есть ли способ выровнять текст по вертикали по центру?
1 ответ:
Я вижу это. Это выглядит как ограничение в базовом winapi, DrawTextEx () . Который не получает много помощи от класса Label, он не включает параметр DT_SINGLELINE (он же TextFormatFlags.SingleLine), так как он способен отображать несколько строк. DrawTextEx() документирует, что это необходимо для получения вертикально центрированного текста (DT_VCENTER). Так что реальная ошибка заключается в том, что он не должен быть центрирован вообще :) обратите внимание, что Вы делаете получить центрированный текст, когда вы растете надпись вертикально.
Самый простой способ обойти это-установить свойство UseCompatibleTextRendering метки в True.