2009-07-27 162 views
1

是否可以創建一個主MXML的實例並在ActionScript類中使用它。創建一個MXML實例

public var obj:classname= new classname(); 

當我嘗試通過調用一個obj.textfieldID分量id ...它不...

雖然obj與classname.mxml的一個實例。

回答

2

我不確定但有可能控制實例生成爲受保護的。嘗試添加一個公開的屬性/方法來包裝對文本字段的訪問。然後,您應該能夠從MXML文件之外訪問該公共成員。儘管如此,最好使用綁定來填充MXML組件。您可以使用BindingUtils .bindProperty通過代碼添加綁定。即使是這樣,不過,你會綁定在MXML文件財產(無論是在< MX:SCRIPT>或「代碼隱藏」通過繼承),然後讓你的文本框綁定的屬性:

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 2009-07-27 21:13:21