2010-10-29 3 views
1

Я хочу показать богатый текст в выпадающем меню, для которого я использую следующий рендерер.Проблема с детализатором Flex с DropDown Control

<?xml version="1.0" encoding="utf-8"?> 
<mx:HBox xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" 
     xmlns:mx="library://ns.adobe.com/flex/mx"> 
    <fx:Script> 
    <![CDATA[ 
    import spark.utils.TextFlowUtil; 
    ]]> 
    </fx:Script> 
    <s:TextArea textFlow="{TextFlowUtil.importFromXML(new XML(data))}"/> 
</mx:HBox> 

Отображатель показывает HTML текст правильно в выпадающем списке, но в верхнем наиболее вариант (выбранный пункт) весь HTML отображается тег вместо того, что представляет собой тег. Я полностью потерял любую помощь, будет оценена.

Thanks

ответ

0

Какой контроль вы используете? Контроллер MX ComboBox или A Spark DropDownList? Или Spark ComboBox?

Поскольку ваш itemRenderer смешивает компоненты Halo и Spark, это трудно сказать.

В MX ComboBox вы не можете управлять областью подсказок с помощью элемента itemRenderer. Это должен быть простой текст.

В Spark ComboBox область запроса представляет собой фактический ввод, который вы вводите. Ss такой не будет отображать HTMLText.

Я подозреваю, что элемент управления Spark DropDownList имеет те же ограничения, что и MX ComboBox, где приглашение не создано с помощью элемента itemRenderer.

Во всех случаях вам нужно будет расширить компонент, если вы хотите сделать что-то еще.

Все, что сказал, ваш itemRenderer не должен смешивать компоненты Halo и Spark. HBox избыточен только одним элементом. Итак, избавитесь от этого и замените его на Spark ItemRenderer. Вместо привязки вашего значения используйте событие dataChange. Известно, что обе эти вещи повышают производительность.

More info about creating Spark Renderers.

+0

Спасибо за совет, я на самом деле изменить визуализатор, чтобы зажечь рендерер, но вопрос остается, я думаю, вы правы, что незамедлительное область не получает оказываемую ItemRenderer, но с простым управлением TextInput. По-видимому, расширение контроля является единственным решением. – Arslan

+0

Следующая ссылка помогла мне расширить поле со списком http://stackoverflow.com/questions/269773/flex-custom-item-renderer-for-the-displayed-item-in-the-combobox/280859#280859 – Arslan