Bonjour,

Je suis actuellement confronté à un problème de binding au sein de mon application Flex. Je pense que ca vient d'un d'une mauvaise compréhension de ma part du système de binding de Flex.

Voici en simplifiant au maximum comment est organisé mon code :

J'ai une classe AS qui contient les données importantes de mon application :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
class Bean {
    private var propA:int;
    private var propB:String;
 
    /* Getter et setter des proprietes A et B*/
 
}
Le fichier MXML principal de mon application contient une instance de mon bean et ce dernier est mis à jour depuis des fonctions javascript externe (le bean est correctement mis à jour) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initApplication()" layout="absolute">
 
<mx:Script>
	<![CDATA[
              [Bindable] private var monBean:Bean;
 
              private function initApplication():void {
                      monBean = new Bean();
              }
 
              /* Methodes de mise à jour du bean via addCallback */
              /*      ...      */
 </mx:Script>
 
<comp:MyPersoComp bean="{monBean}" width="100% height="100%"/>
</mx:Application>
Mon composant MXML principal contient un autre composant MXML qui a pour propriété la variable "bindé" monBean.
Voici mon composant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
		<![CDATA[
			[Bindable]
			public var bean:Bean;
 
		]]>
	</mx:Script>
 
<mx:Text text={bean.getPropB()}/>
</mx:Canvas>
Le problème auquel je suis confronté est lorsque monBean est mis à jour depuis mon composant MXML principal, ces changements ne sont pas automatiquement reportés au sein de mon composant "MyPersoComp ".

Je pensais que le mot clé [Bindable] permettait justement de gérer automatiquement des events de mise à jour lors de l'update de la variable possédant ce mot clé ?

Quelqu'un peut-il m'aider ?