muss ich Eigenschaften von Komponenten dynamisch binden, die zur Laufzeit erstellt werden. In diesem speziellen Fall nehme ich an, dass ich bindProperty verwenden muss.Grundlegendes zur dynamischen Datenbindung (bindPropety) nicht verstehen In Flex
Ich verstehe nicht ganz, warum der folgende simple Test fehlschlägt (siehe Code). Wenn ich auf die Schaltfläche klicke, ändert sich der Beschriftungstext nicht.
Ich erkenne, dass es einfachere Möglichkeiten gibt, über dieses spezielle Beispiel mit traditionellen nicht-dynamischen Bindung zu gehen, aber ich muss es in Bezug auf die Verwendung von bindProperty verstehen.
Kann mir bitte jemand helfen zu verstehen, was ich vermisse?
<?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>
Vielen Dank im Voraus.
Ja, es sieht so aus, als ob es eine Set-Methode fehlt. Ich wusste nicht, dass das nötig war. – Joshua