我正在尝试输出一个包含4个变量的句子,其值使用以下代码进行加粗:
<mx:Text width="100%" y="307">
<mx:htmlText>
<![CDATA[Showing data from <b>{labelStartTime.text} {labelStartDate.text}</b> to <b>{labelEndTime.text} {labelEndDate.text}</b>]]>
</mx:htmlText>
</mx:Text>
但是,这只是输出变量名而不是它们的值。我确定我错过了一些简单的东西,但我很欣赏任何指示。
干杯。
答案 0 :(得分:3)
我知道一种解决方法:
的ActionScript:
private var variable:String = "Variable String";
private var str:String = "<i><b>" + Variable + "</b></i>";
MXML:
<Text htmlText="{str}" />
答案 1 :(得分:3)
我认为不可能直接在CDATA部分添加绑定,但是你确实有几个选择:
import mx.binding.utils.BindingUtils;
//called on creationComplete
private function init():void
{
BindingUtils.bindSetter(setHtmlText, labelStartTime, "text");
BindingUtils.bindSetter(setHtmlText, labelStartDate, "text");
BindingUtils.bindSetter(setHtmlText, labelEndTime, "text");
BindingUtils.bindSetter(setHtmlText, labelEndDate, "text");
}
private function setHtmlText(val:String):void
{
myText.htmlText = "Showing data from <b>" +
labelStartTime.text + " " +
labelStartDate.text + "</b> to <b>" +
labelEndTime.text + " " +
labelEndDate.text + "</b>";
}
<mx:Text id="myText" width="100%" y="307"
htmlText="Showing data from <b>{labelStartTime.text} {labelStartDate.text}</b> to <b>{labelEndTime.text} {labelEndDate.text}</b>"/>
这不是真正推荐的,因为它使标记非常难以阅读,但你可能会因为这样的小事而逃脱它。