Краткий ответ: я не думаю, что есть волшебная пуля для этого. Это будет очень больно.
Вы можете начать с расширения класса Text таким образом, чтобы добавить статическое свойство StyleSheet (например, styleSheet: StyleSheet = null). Затем создайте массив, который содержит следующие стили, единственные поддерживаемые Flex:
listOfStyles:Array = ['fontSize', 'color', 'fontWeight', 'fontFamily', 'fontStyle', 'textDecoration'];
Затем вам нужно инициализировать StyleManager.selectors, создавая массив селекторов, которые вы собираетесь использовать. По сути, вы находите тег «A» и добавляете к нему описанный выше listOfStyles, а затем создаете новый CSSStyleDeclaration для каждого из этих стилей.
Это позволит вам применять вышеназванные стили к свойству htmlText вашего расширенного класса. Все идет нормально. Это позволяет вам устанавливать различные стили для ваших тегов привязки при загрузке, используя внешнюю таблицу стилей. Однако применить эффект опрокидывания, когда каждая ссылка меняет цвет при опрокидывании в HTML, будет проблематично, поскольку MouseEvent.MOUSE_OVER будет применяться к классу в целом, а не к отдельным элементам HTML в нем. Вы должны выяснить, была ли мышь над привязкой в этом HTML-тексте (не невозможно, но у меня нет времени на это прямо сейчас) и изменить свой селектор в этом. Это будет связано с получением диапазона текста, а это всегда означает большую работу. Мне пришлось возиться с этим, когда клиент хотел, чтобы в текстовом потоке появлялись смайлики (что-то еще реализация HTML в Flex не поддерживает), и это было чрезвычайно мрачно.
Я полагаю, что Flex 4 изначально добавит больше поддержки для такого рода вещей, но я не исследовал это специально.
Извините, у меня нет волшебной пули для вас, но я надеюсь, что это проливает немного света на эту тему.