是否可以创建主MXML的实例并在ActionScript类中使用它。
public var obj:classname= new classname();
当我尝试通过obj.textfieldID调用组件id时......它不会......
虽然obj是classname.mxml的一个实例。
答案 0 :(得分:2)
我不确定,但控件实例可能会生成为受保护的。尝试添加包含对文本字段的访问权限的公共属性/方法。然后,您应该能够从MXML文件外部访问该公共成员。
但是,仅供参考,最好使用绑定来填充MXML组件。您可以使用BindingUtils。bindProperty通过代码添加绑定。尽管如此,你还是会在MXML文件上绑定一个属性(在< mx:Script>中或在'代码隐藏'中通过继承)然后让你的textField绑定到属性: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}" />
现在,每次更改(公共)displayName属性时,displayNameLabel.text都会自动更改。