包 | mx.core |
类 | public class UIComponentDescriptor |
继承 | UIComponentDescriptor ComponentDescriptor Object |
MXML 文件中的大多数标签描述 UIComponent 对象树。例如,<mx:Application>
标签代表 UIComponent 对象,并且其子容器和控件均是 UIComponent 对象。
MXML 编译器将所有这些 MXML 标签均编译为 UIComponentDescriptor 实例。确切地说,MXML 编译器自动生成 ActionScript 数据结构,即 UIComponentDescriptor 对象树。
在运行时,Container 类的 createComponentsFromDescriptors()
方法使用容器的 childDescriptors
数组中 UIComponentDescriptor 对象中的信息创建实际 UIComponent 对象,这些对象是容器的子级以及子级的子级。根据容器的 creationPolicy
属性的值,会在应用程序启动时,组件的某部分将要转为可见状态或应用程序开发人员手动调用 createComponentsFromDescriptors()
方法时,创建子级。
通常,您不需要自己创建 UIComponentDescriptor 实例;您可以通过 Container 类的 childDescriptors
数组访问 MXML 编译器自动生成的实例。
另请参见
属性 | 定义方 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
document : Object 对将在其中创建组件的文档 Object 的引用。 | ComponentDescriptor | ||
effects : Array MXML 中所指定的包含组件效果的 Array。 | UIComponentDescriptor | ||
events : Object MXML 中所指定的包含组件事件处理程序的名称/值对的 Object。 | ComponentDescriptor | ||
id : String MXML 中指定的组件的标识符。 | ComponentDescriptor | ||
properties : Object [只读 (read-only)] MXML 中指定的包含组件属性的名称/值对的 Object。 | ComponentDescriptor | ||
propertiesFactory : Function 一个 Function,用于返回 MXML 中指定的包含组件属性的名称/值对的 Object。 | ComponentDescriptor | ||
prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | ||
stylesFactory : Function MXML 中指定的一个 Function,用于构造包含组件实例样式的名称/值对的 Object。 | UIComponentDescriptor | ||
type : Class MXML 中指定的组件的 Class。 | ComponentDescriptor |
方法 | 定义方 | ||
---|---|---|---|
UIComponentDescriptor(descriptorProperties:Object) 构造函数。 | UIComponentDescriptor | ||
指示对象是否已经定义了指定的属性。 | Object | ||
使缓存的 properties 属性失效。 | ComponentDescriptor | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
返回字符串“ComponentDescriptor_”以及 id 属性的值。 | ComponentDescriptor | ||
返回指定对象的原始值。 | Object |
effects | 属性 |
public var effects:Array
MXML 中所指定的包含组件效果的 Array。
例如,如果您编写以下代码:
<mx:TextInput showEffect="Fade" hideEffect="Fade"/>
描述符的 effects
属性为 [ "showEffect", "hideEffect" ]
Array。
如果未为组件指定 MXML 效果,则 effects
属性为 null
。
请注意,此属性中不指定效果属性的值。实际上,效果被视为样式,因此,包含在 stylesFactory
属性中。effect
Array 仅跟踪 stylesFactory
中实际上是效果的样式。
Container 方法 createComponentsFromDescriptors()
使用此属性向 EffectManager 注册效果。
stylesFactory | 属性 |
public var stylesFactory:Function
MXML 中指定的一个 Function,用于构造包含组件实例样式的名称/值对的 Object。
例如,如果您编写以下代码:
<mx:TextInput borderColor="0x888888" color="0xDDDDDD"/>
描述符的 stylesFactory
属性为 Function:
function():void { this.borderColor = 0x888888; this.color = 0xDDDDDD };
如果未为组件实例指定 MXML 样式,则 stylesFactory
属性为 null
。
UIComponentDescriptor | () | 构造函数 |
public function UIComponentDescriptor(descriptorProperties:Object)
构造函数。
参数descriptorProperties:Object —
包含 UIComponentDescriptor 对象属性的名称/值对的 Object,这些属性包括 type 、id 、propertiesFactory 、events 、stylesFactory 和 effects 等。
|