2009-07-27 6 views
1

Est-il possible de créer une instance du fichier MXML principal et de l'utiliser dans la classe ActionScript.Création d'une instance de MXML

public var obj:classname= new classname(); 

Quand je tente d'appeler un identifiant de composants à travers obj.textfieldID ... il ne ...

si obj est une instance de la classname.mxml.

Répondre

2

Je ne suis pas sûr mais il est possible que les instances de contrôle soient générées comme protégées. Essayez d'ajouter une propriété publique/méthode qui encapsule l'accès à votre champ de texte. Vous devriez alors pouvoir accéder à ce membre public depuis l'extérieur du fichier MXML.

FYI, cependant, il est préférable d'utiliser la liaison pour peupler les composants MXML. Vous pouvez ajouter une liaison via le code en utilisant BindingUtils .bindProperty. Même alors, cependant, vous lier une propriété sur le fichier MXML (soit dans un < mx: Script> ou « code-behind » par héritage), puis demandez à votre bind textField à la propriété:

private var _displayText : String; 

[Bindable] // only required on get 
public function set displayText(value : String) : void 
{ 
    return _displayText; 
} 


public function set displayText(value : String) : void 
{ 
    _displayText = value; 
} 

Ensuite, votre champ serait déclaré:

<mx:Label id="displayNameLabel" text="{displayName}" /> 

maintenant displayNameLabel.text changera automatiquement chaque fois que vous changez (public) propriété displayName.

+0

http://stackoverflow.com/questions/1190444/calling-mxml-inside-actionscript-class Pouvez-vous m'aider sur cet exemple .... – Kevin

Questions connexes