Здравствуйте
Голову сломал
Или совсем невнимательный стал или одно из двух
Есть компонент Accordion, я его наполняю ArrayCollection-ом

Код AS3:
<mx:Accordion id="accordion" width="400"
height="100%"
openDuration="300"
headerRenderer="swiz.views.components.itemRenderers.AccordionHeader">
<mx:Repeater id="rep" dataProvider="{appModel.classes}">
<mx:VBox width="100%" height="100%"
verticalAlign="middle"
horizontalAlign="center"
label="{(rep.currentItem as ClassVO).label}" >
<mx:HBox width="100%">
<s:Label width="200" height="300" text="{(rep.currentItem as ClassVO).description}"/>
<s:Image width="200" height="200"
source="{AppModel.DOMAIN+(rep.currentItem as ClassVO).image_url}"
scaleMode="letterbox"
smooth="true"/>
</mx:HBox>
</mx:VBox>
</mx:Repeater>
</mx:Accordion>
Класс-переносчик данных (ValueObject или DataTransferObject)

Код AS3:
package swiz.models
{
public class ClassVO
{
protected var _id:int;
protected var _label:String;
protected var _description:String;
protected var _code:String;
protected var _image_url:String;
protected var _cost:String;
public function ClassVO()
{
}
[Bindable]
public function get description():String
{
return _description;
}
public function set description(value:String):void
{
_description = value;
}
[Bindable]
public function get image_url():String
{
return _image_url;
}
public function set image_url(value:String):void
{
_image_url = value;
}
[Bindable]
public function get cost():String
{
return _cost;
}
public function set cost(value:String):void
{
_cost = value;
}
[Bindable]
public function get code():String
{
return _code;
}
public function set code(value:String):void
{
_code = value;
}
[Bindable]
public function get label():String
{
return _label;
}
public function set label(value:String):void
{
_label = value;
}
public function get id():int
{
return _id;
}
public function set id(value:int):void
{
_id = value;
}
}
}
Коллекция предварительно собирается из выборки из базы, в которой все символы закодированы

Код AS3:
for(i=0;i<total;i++)
{
var lbl:String = StringUtilities.decode((data as Array)[i].label);
var newClass:ClassVO=new ClassVO();
newClass.id=parseInt((data as Array)[i].id);
newClass.label = lbl;
newClass.description=StringUtilities.decode((data as Array)[i].description);
newClass.code=(data as Array)[i].code;
newClass.cost=(data as Array)[i].cost;
newClass.image_url=(data as Array)[i].image;
trace("lbl="+lbl);
appModel.classes.addItem(newClass);
}
Раскодировщик вот какой

Код AS3:
public static function decode( encoded:String ):String
{
var retData:String="";
var characters:Array = encoded.split( "&#" );
var i:int
var total:int=characters.length;
for(i=0;i<total;i++)
{
retData+=String.fromCharCode(parseInt(characters[i]));
}
return retData;
}
Если не раскодировать то в хедерах аккордеона видны надписи закодированные
Если раскодировать, то ругается на то что нет возможности забайндить к объекту так как он не IEventDispatcher И НИЧЕГО В КНОПКЕ НЕ ПИШЕТ
Где я ошибся ?
Чем отличается байндинг для mx от spark ?