3

TextコンポーネントのhtmlTextプロパティ内に変数をバインドする方法が見つかりませんでした。次のようなことができるようにしたいと思います。

<mx:Text id="bodyText"  styleName="bodyText">
<mx:htmlText >
    <![CDATA[<img src='assets.OrangeRect' align='left' hspace='0' vspace='4'/>    Bonjour {UserData.name} ]]>

    </mx:htmlText>
</mx:Text>

UserData.nameをバインドしたい

4

2 に答える 2

5

「しかし、mxmlで直接処理できるかどうかはまだ疑問です。特に、バインドされた変数が変更された場合は、テキストコンポーネントで更新する必要があります。」
Hichem

プロパティを関数呼び出しにバインドして、バインドされた値が変更されるたびに、関数呼び出しの結果が次の値として使用されるようにすることができますhtmlText

<mx:Script>
<![CDATA[

    function sayHello(userName:String):String
    {
        var text:String = "<![CDATA[<img src='assets.OrangeRect' align='left' hspace='0' vspace='4'/>    Bonjour " + userName + " ]]>";
        return text;
    }

]]>
</mx:Script>

<mx:Text id="bodyText" styleName="bodyText" htmlText="{sayHello(UserData.name)}" />

これは、2つの組み合わせのようなものです。MXMLでバインディングを指定しますが、スクリプトセクションで値を生成します。

于 2010-03-19T05:38:31.770 に答える
2

MXMLでどのように処理されるかはわかりませんが、Actionscriptで完全な文字列を生成できます。

bodyText.htmlText = "<![CDATA[<img src='assets.OrangeRect' align='left' hspace='0' vspace='4'/>    Bonjour " + UserData.name + " ]]>";
于 2010-03-18T16:22:50.113 に答える