Necesito enlazar dinámicamente las propiedades de los componentes creados en tiempo de ejecución. En este caso particular, asuma que necesito usar bindProperty.Conceptos básicos sobre la comprensión de datos dinámicos (bindPropety) En Flex
No entiendo por qué la siguiente prueba simplista está fallando (ver código). Cuando hago clic en el botón, el texto de la etiqueta no cambia.
Me doy cuenta de que hay formas más simples de llevar a cabo este ejemplo en particular utilizando el enlace tradicional no dinámico, pero tengo que entenderlo en términos de usar bindProperty.
¿Alguien puede ayudarme a entender lo que me estoy perdiendo?
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ns1="Tools.*" minWidth="684" minHeight="484" xmlns:ns2="*" creationComplete="Init();">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.binding.utils.*;
public var Available:ArrayCollection=new ArrayCollection();
public function get Value():String {
return (Available.getItemAt(0).toString());
}
public function Init():void {
Available.addItemAt('Before', 0);
BindingUtils.bindProperty(Lab, 'text', this, 'Value');
}
public function Test():void {
Available.setItemAt('After', 0);
}
]]>
</mx:Script>
<mx:Label x="142" y="51" id="Lab"/>
<mx:Button x="142" y="157" label="Button" click="Test();"/>
</mx:WindowedApplication>
Gracias de antemano.
Sí, parece que es porque me faltaba un método establecido. No me di cuenta de que era obligatorio. – Joshua