2009-07-27 9 views
1

メインMXMLのインスタンスを作成し、ActionScriptクラス内で使用することは可能ですか?MXMLのインスタンスを作成する

public var obj:classname= new classname(); 

私はobj.textfieldIDを通じてコン​​ポーネントIDを呼び出そうとするとobjがclassname.mxmlのインスタンスですが...それはない...

を行います。

答えて

2

わかりませんが、コントロールインスタンスが保護された状態で生成されている可能性があります。テキストフィールドへのアクセスをラップするパブリックプロパティ/メソッドを追加してみてください。 MXMLファイルの外部からそのパブリックメンバーにアクセスできるはずです。

しかし、実際には、バインディングを使用してMXMLコンポーネントを作成する方がよいでしょう。 BindingUtils .bindPropertyを使用してコードを使用してバインディングを追加できます。 (:スクリプト>または継承「を介してコードビハインド」に< MXのいずれかで)、その後、プロパティにあなたのTextFieldバインドを持っています。それでも、しかし、あなたは、MXMLファイルにプロパティを結合する

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; 
} 

次に、あなたのフィールドが宣言されます:

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

今displayNameLabel.textが自動的にあなたが(パブリック)DisplayNameプロパティを変更するたびに変更されます。

+0

http://stackoverflow.com/questions/1190444/calling-mxml-inside-actionscript-class この例で私を助けることができます.... – Kevin

関連する問題