mx.core
public class UIComponentDescriptor
继承UIComponentDescriptor Inheritance ComponentDescriptor Inheritance Object

UIComponentDescriptor 实例封装您在 MXML 标签中为可视组件实例指定的信息。

MXML 文件中的大多数标签描述 UIComponent 对象树。例如,<mx:Application> 标签代表 UIComponent 对象,并且其子容器和控件均是 UIComponent 对象。

MXML 编译器将所有这些 MXML 标签均编译为 UIComponentDescriptor 实例。确切地说,MXML 编译器自动生成 ActionScript 数据结构,即 UIComponentDescriptor 对象树。

在运行时,Container 类的 createComponentsFromDescriptors() 方法使用容器的 childDescriptors 数组中 UIComponentDescriptor 对象中的信息创建实际 UIComponent 对象,这些对象是容器的子级以及子级的子级。根据容器的 creationPolicy 属性的值,会在应用程序启动时,组件的某部分将要转为可见状态或应用程序开发人员手动调用 createComponentsFromDescriptors() 方法时,创建子级。

通常,您不需要自己创建 UIComponentDescriptor 实例;您可以通过 Container 类的 childDescriptors 数组访问 MXML 编译器自动生成的实例。

另请参见

mx.core.Container.childDescriptors
mx.core.Container.creationPolicy
mx.core.Container.createComponentsFromDescriptors()


公共属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
 Inheriteddocument : Object
对将在其中创建组件的文档 Object 的引用。
ComponentDescriptor
  effects : Array
MXML 中所指定的包含组件效果的 Array。
UIComponentDescriptor
 Inheritedevents : Object
MXML 中所指定的包含组件事件处理程序的名称/值对的 Object。
ComponentDescriptor
 Inheritedid : String
MXML 中指定的组件的标识符。
ComponentDescriptor
 Inheritedproperties : Object
[只读 (read-only)] MXML 中指定的包含组件属性的名称/值对的 Object。
ComponentDescriptor
 InheritedpropertiesFactory : Function
一个 Function,用于返回 MXML 中指定的包含组件属性的名称/值对的 Object。
ComponentDescriptor
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
  stylesFactory : Function
MXML 中指定的一个 Function,用于构造包含组件实例样式的名称/值对的 Object。
UIComponentDescriptor
 Inheritedtype : Class
MXML 中指定的组件的 Class。
ComponentDescriptor
公共方法
 方法定义方
  
UIComponentDescriptor(descriptorProperties:Object)
构造函数。
UIComponentDescriptor
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
使缓存的 properties 属性失效。
ComponentDescriptor
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回字符串“ComponentDescriptor_”以及 id 属性的值。
ComponentDescriptor
 Inherited
返回指定对象的原始值。
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,这些属性包括 typeidpropertiesFactoryeventsstylesFactoryeffects 等。