J'ai:Flex/AS3: liaison de données via une propriété referrée
classe A: avec la propriété "data: ArrayCollection". C'est ma source de données (fournisseur de données) et a des bitmaps.
La classe B: possède une instance de A (appelée "Ainst") et appelle la méthode suivante: C.init (Ainst.data). Pour passer le fournisseur de données à l'objet C.
La classe C: a une référence du fournisseur de données "data" (à cause de la méthode "init"). Il montre le arrayCollection en images comme: Image.source = data.getItemAt (0). Mais C ne met jamais à jour ses images, c'est-à-dire que la liaison de données ne fonctionne pas avec ce schéma. J'ai mis [Bindable] meta-tag dans toutes les propriétés et même les classes.
classe A:
public class A{ [Bindable]public var data:ArrayCollection; }
classe B:
public class B{ [Bindable]public var Ainst:A; public var Cinst:C; public function init(){ Cinst = new C(); Cinst.init(A.data) } }
classe C: Un menu d'image avec 3 éléments (bitmaps)
<s:VGroup xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:local="*"
horizontalAlign="center"
paddingTop="10"
paddingBottom="10"
gap="10">
<fx:Script>
<![CDATA[
[Bindable] public var _images:ArrayCollection;
public function init(images:ArrayCollection):void{
_images = images;
}
]]>
</fx:Script>
<ms:Image id="PreviousButton" smoothBitmapContent="true" width="55" height="55" source="@Embed(source='/../figures/upArrow.png')"/>
<ms:Image id="TopItem" smoothBitmapContent="true" maintainAspectRatio="true" x="12.5" source="{_images.getItemAt(0)}" />
<ms:Image id="MiddleItem" smoothBitmapContent="true" maintainAspectRatio="true" x="12.5" source="{_images.getItemAt(1)}"/>
<ms:Image id="BottomItem" smoothBitmapContent="true" maintainAspectRatio="true" x="12.5" source="{_images.getItemAt(3)}"/><!-- getItemAt(2).image -->
<ms:Image id="NextButton" smoothBitmapContent="true" width="55" height="55" source="@Embed(source='/../figures/downArrow.png')"/>
</s:VGroup>
Toute pensée? Merci.
Veuillez fournir le code pour comprendre les détails. – Constantiner
ok, je vous écris. – Manel
Quel langage de programmation avez-vous utilisé avant ActionScript? – Constantiner