包 | mx.core |
类 | public class UIComponentDescriptor |
继承 | UIComponentDescriptor ComponentDescriptor Object |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
MXML 文件中的大多数标签描述 UIComponent 对象树。例如,<mx:Application>
标签代表 UIComponent 对象,并且其子容器和控件均是 UIComponent 对象。
MXML 编译器将所有这些 MXML 标签均编译为 UIComponentDescriptor 实例。确切地说,MXML 编译器自动生成 ActionScript 数据结构,即 UIComponentDescriptor 对象树。
在运行时,Container 类的 createComponentsFromDescriptors()
方法使用容器的 childDescriptors
数组中 UIComponentDescriptor 对象中的信息创建实际 UIComponent 对象,这些对象是容器的子级以及子级的子级。根据容器的 creationPolicy
属性的值,会在应用程序启动时,组件的某部分将要转为可见状态或应用程序开发人员手动调用 createComponentsFromDescriptors()
方法时,创建子级。
通常,您不需要自己创建 UIComponentDescriptor 实例;您可以通过 Container 类的 childDescriptors
数组访问 MXML 编译器自动生成的实例。
相关 API 元素
mx.core.Container.creationPolicy
mx.core.Container.createComponentsFromDescriptors()
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
document : Object
对将在其中创建组件的文档 Object 的引用。 | ComponentDescriptor | ||
effects : Array
MXML 中所指定的包含组件效果的 Array。 | UIComponentDescriptor | ||
events : Object
MXML 中所指定的包含组件事件处理程序的名称/值对的 Object。 | ComponentDescriptor | ||
id : String
MXML 中指定的组件的标识符。 | ComponentDescriptor | ||
properties : Object [只读]
MXML 中指定的包含组件属性的名称/值对的 Object。 | ComponentDescriptor | ||
propertiesFactory : Function
一个 Function,用于返回 MXML 中指定的包含组件属性的名称/值对的 Object。 | ComponentDescriptor | ||
stylesFactory : Function
MXML 中指定的一个 Function,用于构造包含组件实例样式的名称/值对的 Object。 | UIComponentDescriptor | ||
type : Class
MXML 中指定的组件的 Class。 | ComponentDescriptor |
方法 | 由以下参数定义 | ||
---|---|---|---|
UIComponentDescriptor(descriptorProperties:Object)
构造函数。 | UIComponentDescriptor | ||
表示对象是否已经定义了指定的属性。 | Object | ||
使缓存的 properties 属性失效。 | ComponentDescriptor | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回字符串“ComponentDescriptor_”以及 id 属性的值。 | ComponentDescriptor | ||
返回指定对象的原始值。 | Object |
effects | 属性 |
public var effects:Array
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
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
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
MXML 中指定的一个 Function,用于构造包含组件实例样式的名称/值对的 Object。
例如,如果您编写以下代码:
<mx:TextInput borderColor="0x888888" color="0xDDDDDD"/>
描述符的 stylesFactory
属性为 Function:
function():void { this.borderColor = 0x888888; this.color = 0xDDDDDD };
如果未为组件实例指定 MXML 样式,则 stylesFactory
属性为 null
。
UIComponentDescriptor | () | 构造函数 |
Tue Jun 12 2018, 11:04 AM Z