Да, на самом деле во Flex 3 возникла похожая проблема, которая вычеркнула отключенную кнопку ссылки, которая была частью наших стилей.Только что проверил код, посмотрел в документах метку искры и обнаружил, что функция, которую я использовал из метки mx, явно говорит, что она не будет работать [из measureText () в метке искры]:
Измеряет указанный текст, предполагая, что он отображается в однострочном UITextField (или UIFTETextField) с использованием UITextFormat, определенного стилями этого UIComponent.Не работает для компонентов Spark, так как они не используют UITextField (или UIFTETextField).Чтобы измерить текст в компонентах Spark, получите измерения spark.components.Label или spark.components.RichText
Поэтому я переосмыслил это:
<?xml version="1.0" encoding="utf-8"?>
<s:Label xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
override protected function updateDisplayList(unscaledWidth : Number, unscaledHeight : Number) : void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
drawLines();
}
private function drawLines() : void
{
var totalHeight : Number = 0;
for (var i : int = 0; i < mx_internal::textLines.length; i++)
{
totalHeight = mx_internal::textLines[i].y;
graphics.lineStyle(1, 0x000000);
graphics.moveTo(0, totalHeight);
graphics.lineTo(width, totalHeight);
}
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
</s:Label>