Как сделать связывание внутри htmltext CDATA - PullRequest
3 голосов
/ 18 марта 2010

Я не смог найти способ связать переменную внутри свойства htmlText компонента Text я хочу иметь возможность сделать что-то вроде этого:

<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

Ответы [ 2 ]

5 голосов
/ 19 марта 2010

"Но я все еще задаюсь вопросом, возможно ли обрабатываться напрямую в 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)}" />

Это похоже на комбинацию двух - укажите вашу привязку в MXML, но получите значение, сгенерированное в разделе сценариев.

2 голосов
/ 18 марта 2010

Я не уверен, как это будет обрабатываться в MXML, но вы можете создать полную строку в Actionscript:

bodyText.htmlText = "<![CDATA[<img src='assets.OrangeRect' align='left' hspace='0' vspace='4'/>    Bonjour " + UserData.name + " ]]>";
...