bien, j'ai un combobox que je lie sa propriété selectedItem à un objet d'objets de valeur, comme celui-cidatabinding flex avec la propriété selectedItem du problème de mise à jour combobox plusieurs fois
<fx:Binding source="styles_cb.selectedItem.toString()" destination="_uniform.style"/>
<fx:Declarations>
<fx:XML id="config_xml" xmlns="" source="config.xml" />
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<mx:ComboBox x="66.15" y="63.85" editable="false" id="styles_cb" dataProvider="{config_xml.styles.style}" />
l'objet de valeur est une classe personnalisée avec des setters et getters, et je veux définir une propriété en fonction de la valeur de la selectedItem du combo, donc dans l'objet de valeur que j'ai quelque chose comme ça
[Bindable]
public function set style(value:String):void
{
_style = value;
trace(value);
}
mon problème est que chaque fois que je change la sélection combobox qui en fait changer le style propre ty de l'objet de valeur il le fait 3 fois, si je trace la valeur du setter il fait réellement la trace 3 fois, pourquoi ?? Comment puis-je éviter ça? Je fais quelque chose de mal? ou il existe une meilleure façon de le faire, s'il vous plaît aider, merci pour toute aide
Ceci est une deuxième question dans une réponse à votre propre question?!? [Bindable] sans nom entraînera le compilateur à envelopper automatiquement le setter dans une autre méthode qui distribue un événement "propertyChanged" et l'objet événement a des informations sur la propriété qui a changé. [Bindable ("somethingChanged")] ne change pas du tout le code et indique que vous allez envoyer cet événement vous-même. La deuxième forme est préférée car l'événement est unique à la propriété. Je pourrais expliquer plus si c'était une vraie question .. mais question dans une réponse .. les commentaires sont limités .. –
ouais désolé à ce sujet, cependant est vrai ce que vous avez dit et fonctionne grand pour moi merci! – goseta