2011-06-21 14 views
1

itemrenderersをTextAreaに統合したいと思います。その目的は、ユーザが簡単なインターフェースでキーワードを視覚化する一方で、ユーザがフォント、フォントサイズなどを選択するために全文を通常のテキストとして扱うことができるようにすることである。mx.controls.TextAreaのFlex ItemRendererを使用

など。 {TEMP |度}この例で

<TEXTFORMAT LEADING="2"> 
    <P ALIGN="RIGHT"> 
     <FONT FACE="Century Gothic" SIZE="24" COLOR="#999999"> 
     The temperature is {TEMP|DEGREES}°. 
     </FONT> 
    </P> 
</TEXTFORMAT> 

一部可能なキーワード(温度、時間、...)でドロップダウンリストを示したItemRendererに置き換えなければならない:これは、のTextAreaののhtmlTextかもしれません選択されたキーワードに応じたパラメータを持つ2番目のドロップダウン(温度、度、華氏)。

これを処理する方法に関するご意見やご提案はありますか?

おかげで最後に本当にもうTextAreaのではないでしょう間違いない可能すぎなかっハッキングのTextAreaのない多く、 フランク

+1

mx TextAreaでこれを行うには、苦痛の世界に入ります。 Spark TextAreaでもっと楽になるでしょう。それはオプションですか? – RIAstar

+1

私はSpark TextAreaでもこれは難しいと思っています。あなたが実際にTextAreaを必要としないように私には聞こえる。動的に作成された複数のコントロールのミッシュマッシュであるカスタムカスタムコンポーネントです。 – JeffryHouser

+0

いいえ、プロジェクトはまだFlex3になっていますので、スパークはありません。 – Frank

答えて

1

うん、、。

私はこれに類似したことをしましたが、シンプルでありながら堅牢なデータ構造(ある種の不可知論的なデータプロパティと「型」を持つカスタムモデルが含まれているので、何をするべきか分かります)を作成し、それを繰り返して(HBoxのような)コンテナに移動します。データのタイプに応じて、何をするべきかを知る何らかのアルゴリズム(作成する 'アイテムレンダラー')が必要になります。

これは間違いなく可能ですが、私はデータだけに基づいて動的複合フォームを作成する方法を作成しましたが、これは最も簡単なことではありません。あなたはかなりそれをテストし、データ構造とそれをかなり抽象化する方法について考える必要があります。私はあなたとコードを共有しますが、IPは私のものではありません。

+0

しかし、このアプローチの問題は、テキストエリアで行うことができるように、異なるレンダラー間でテキストを選択できないことです。私はこの機能が必要なので、ユーザーは簡単にフォント、テキストサイズなどを適用することができます – Frank

+1

Gotcha。さて、この「解決策」は最終結果を表示するためのものです。ユーザーが結果やテキストを変更する必要がある場合は、適切なユーザーインターフェイス(stackoverflowのやり方など)でフルテキストドリブンのアプローチを使用するようにしてください。たとえば、すべてが単なるテキストであり、コンボボックスが必要な場合は、テキスト領域の上部に '{ComboBox [value1、value2]} 'などを挿入するボタンがあります。次に、テキストを解析し、表示するための適切なデータモデルを作成する必要があります。 –

関連する問題