0
J'ai une certaine VBox avec le bouton. Je veux que mon bouton change l'étiquette après avoir cliqué dessus. J'essaie d'utiliser la pratique de code-behind mais l'instance du bouton est toujours nulle. Il y a le code:Flex 3: problème de code-
package TestPackage
{
import mx.containers.VBox;
import mx.controls.Button;
public class ControlsBox extends VBox
{
[Bindable]
public var btnPlay : Button;
public function ControlsBox()
{
super();
}
override protected function childrenCreated():void
{
super.childrenCreated();
}
public function ChangeImage():void
{
btnPlay.label = "a";
}
}
}
Here is mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:controls="TestPackage.*">
<controls:ControlsBox id="ctrlVBox">
<mx:Button id="btnPlay" click="this.ctrlVBox.ChangeImage();" label="c"></mx:Button>
</controls:ControlsBox>
</mx:Application>
Qu'est-ce que je fais mal? Et comment le faire correctement? Merci
Hmmm .... semble bizarre ... Je veux avoir un bouton et je Je veux avoir l'opportunité de travailler avec le code-behind ... Dans votre code, nous devrions insérer un bouton dans l'autre. Je ne comprends pas pourquoi ... merci quand même – mimic
Le codebehind déclare une * variable * 'btnPlay' qui peut contenir une instance de type' Button', mais la valeur de la variable est initialement nulle - le codebehind ne crée pas réellement de Instance de bouton Au lieu de cela, le bouton * instance * est créé par l'instruction mxml ' '. L'emplacement de 'Button' dans' 'indique à MXML d'assigner la nouvelle instance' Button' à la variable 'btnPlay'. Syntaxe bizarre, mais cela devrait fonctionner. –
Lee
[Spark Skinning] (http://help.adobe.com/en_US/flex/using/WSC8DB0C28-F7A6-48ff-9899-7957415A0A49.html) est un bien meilleur ajustement pour ce que vous essayez de faire - il rend ce genre de chose beaucoup plus facile que d'essayer de chausse-pied dans le concept .NET "codebehind". Plus précisément, vous voudrez peut-être consulter [Skin Parts] (http://www.adobe.com/devnet/flex/articles/flashbuilder4_skin_parts.html). – Lee