1

次のレンダラーを使用しているドロップダウンコントロールにリッチテキストを表示したいと思います。

<?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タグ全体が表示されます。私は完全に失われましたどんな助けもありがたいです。

ありがとう

4

1 に答える 1

0

どのコントロールを使用していますか?MXComboBoxまたはSparkDropDownListコントロール?またはSparkComboBox?

itemRendererはHaloコンポーネントとSparkコンポーネントを混合しているため、見分けがつきません。

MX ComboBoxでは、itemRendererでプロンプト領域を制御することはできません。プレーンテキストである必要があります。

Spark ComboBoxでは、プロンプト領域は入力した実際の入力です。SsそのようなものはHTMLTextを表示しません。

Spark DropDownListコントロールには、itemRendererでプロンプトが作成されないMXComboBoxと同じ制限があると思われます。

いずれの場合も、何か他のことをしたい場合は、コンポーネントを拡張する必要があります。

とはいえ、itemRendererはHaloコンポーネントとSparkコンポーネントを混在させてはなりません。HBoxは、アイテムが1つしかない余分なものです。したがって、それを取り除き、SparkItemRendererに置き換えます。値をバインドする代わりに、dataChangeイベントを使用してください。これらは両方ともパフォーマンスを向上させることが知られています。

SparkRenderersの作成に関する詳細情報。

于 2010-10-29T13:55:14.683 に答える