包 | mx.controls |
类 | public class FlexNativeMenu |
继承 | FlexNativeMenu EventDispatcher Object |
实现 | ILayoutManagerClient, IFlexContextMenu, IAutomationObject |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
与其他 Flex 菜单组件相同的是,要定义由 FlexNativeMenu 组件表示的菜单的结构,需要创建一个数据提供程序(如 XML 层次结构或对象数组),其中包含要用于定义该菜单的数据。可以设置多个属性来定义如何解释数据提供程序数据,如 labelField
属性指定用于菜单项标签的数据字段,keyEquivalentField
属性指定定义菜单项的键盘等效快捷方式的字段,mnemonicIndexField
属性指定标签中用作菜单项助记键字符的索引位置的字段。
FlexNativeMenu 项目的数据提供程序可以指定几个属性来确定项目的显示方式和行为方式,如以下 XML 数据提供程序所示:
<mx:XML format="e4x" id="myMenuData"> <root> <menuitem label="MenuItem A"> <menuitem label="SubMenuItem A-1" enabled="False"/> <menuitem label="SubMenuItem A-2"/> </menuitem> <menuitem label="MenuItem B" type="check" toggled="true"/> <menuitem label="MenuItem C" type="check" toggled="false"/> <menuitem type="separator"/> <menuitem label="MenuItem D"> <menuitem label="SubMenuItem D-1"/> <menuitem label="SubMenuItem D-2"/> <menuitem label="SubMenuItem D-3"/> </menuitem> </root> </mx:XML>
下表列出了您可以指定的属性及其数据类型、目的,以及数据提供程序表示它们必须采取的方式(如果菜单使用 DefaultDataDescriptor 类分析数据提供程序):
属性 | 类型 | 说明 |
---|---|---|
altKey
| Boolean | 指定是否需要使用 Alt 键作为此项目等效键的一部分。 |
cmdKey
| Boolean |
注意:从 Flex 3.2 起不再推荐使用此属性。请改用 commandKey 。指定是否需要使用 Command 键作为此项目等效键的一部分。 |
commandKey
| Boolean | 指定是否需要使用 Command 键作为此项目等效键的一部分。 |
controlKey
| Boolean | 指定是否需要使用 Ctrl 键作为此项目等效键的一部分。 |
ctrlKey
| Boolean |
注意:从 Flex 3.2 起不再推荐使用此属性。请改用 controlKey 。指定是否需要使用 Ctrl 键作为此项目等效键的一部分。 |
enabled
| Boolean | 指定用户可以选择菜单项 (true ),还是不可以选择菜单项 (false )。如果未指定,则 Flex 将假定该值为 true 来处理此项目。如果您使用默认数据说明符,则数据提供程序必须使用 enabled XML 属性或对象字段来指定此特征。 |
keyEquivalent
| 字符串 | 指定一个键盘字符,当按下该字符时会像选择菜单项一样触发事件。菜单的 keyEquivalentField 或 keyEquivalentFunction 属性确定数据中指定等效键的字段名称,或确定等效键的函数。(如果数据提供程序采用 E4X XML 格式,则必须指定其中一个属性以分配等效键。) |
label
| 字符串 | 指定控件中显示的文本。此项目适用于除 separator 之外的所有菜单项类型。菜单的 labelField 或 labelFunction 属性确定数据中指定标签的字段名称,或确定标签的函数。(如果数据提供程序采用 E4X XML 格式,则必须指定其中一个属性以显示标签。)如果数据提供程序是字符串数组,则 Flex 使用字符串值作为标签。 |
mnemonicIndex
| 整型 | 指定标签中用作菜单项助记键的字符的索引位置。菜单的 mnemonicIndexField 或 mnemonicIndexFunction 属性确定数据中指定助记键索引的字段名称,或确定助记键索引的函数。(如果数据提供程序采用 E4X XML 格式,则必须指定这些属性之一,以便指定数据中的助记键索引。)此外,您可以紧挨着某个字符在其左侧添加下划线,以此指示标签中的该字符是菜单项的助记键。 |
shiftKey
| Boolean | 指定是否需要使用 Shift 键作为此项目等效键的一部分。 |
toggled
| Boolean | 指定是否选择了检查项目。如果未指定,则 Flex 处理该项目的方式将视同该值为 false 一样,并且该项目是不选中的。如果您使用默认数据说明符,则数据提供程序必须使用 toggled XML 属性或对象字段来指定此特征。 |
type
| 字符串 | 指定菜单项的类型。有效值为 separator 和 check 。Flex 将其他所有值或无类型条目的节点视为常规菜单条目。如果您使用默认数据说明符,则数据提供程序必须使用 type XML 属性或对象字段来指定此特征。 |
要创建窗口菜单,请将 FlexNativeMenu 设置为窗口的 menu
属性,或者应在其上显示菜单的 WindowedApplication 实例。要创建应用程序菜单,请分配 FlexNativeMenu 作为应用程序的 WindowedApplication 的 menu
属性。要分配 FlexNativeMenu 作为部分用户界面的上下文菜单,请调用 FlexNativeMenu 实例的 setContextMenu()
方法,而将 UI 对象作为参数传递。调用 FlexNativeMenu 组件的 display()
方法,将该菜单显示为应用程序的任一窗口中的弹出菜单。
要检测何时会触发菜单项命令,请为 itemClick
事件注册侦听器。您还可以为 menuShow
事件注册侦听器以确定何时打开任何菜单或子菜单。
The <mx:FlexNativeMenu>
tag supports the following tag attributes:
<mx:FlexNativeMenu Properties dataDescriptor="mx.controls.treeClasses.DefaultDataDescriptor" dataProvider="undefined" keyEquivalentField="keyEquivalent" keyEquivalentFunction="undefined" keyEquivalentModifiersFunction="undefined" labelField="label" labelFunction="undefined" mnemonicIndexField="mnemonicIndex" mnemonicIndexFunction="undefined" showRoot="true" Events itemClick="No default" menuShow="No default" />
相关 API 元素
属性 | 由以下参数定义 | ||
---|---|---|---|
automationDelegate : Object
处理自动化相关功能的委托对象。 | FlexNativeMenu | ||
automationEnabled : Boolean [只读]
如果此组件启用了自动化,则为 true;否则为 false。 | FlexNativeMenu | ||
automationName : String
可用作此对象的标识符的名称。 | FlexNativeMenu | ||
automationOwner : DisplayObjectContainer
用于自动化目的的此组件的所有者。 | FlexNativeMenu | ||
automationParent : DisplayObjectContainer
用于自动化目的的此组件的父级。 | FlexNativeMenu | ||
automationTabularData : Object [只读]
IAutomationTabularData 接口的实现,可用于检索数据。 | FlexNativeMenu | ||
automationValue : Array [只读]
此值通常对应于对象的经呈示的外观,当对象在应用中以可视方式显示时,此值使标识符与该对象相关联。 | FlexNativeMenu | ||
automationVisible : Boolean [只读]
如果此组件对于自动化是可见的,则为 true;否则为 false。 | FlexNativeMenu | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
dataDescriptor : IMenuDataDescriptor
访问并处理数据提供程序中数据的对象。 | FlexNativeMenu | ||
dataProvider : Object
用于定义 NativeMenu 中菜单项结构的对象的层次结构。 | FlexNativeMenu | ||
hasRoot : Boolean [只读]
一个标志,用于指明当前数据提供程序具有根节点;例如,层次结构中的单个顶级节点。 | FlexNativeMenu | ||
initialized : Boolean
一个标志,用于确定某个对象是否已通过布局的所有三个阶段:提交、测量和布局(假设每个阶段都是必需的)。 | FlexNativeMenu | ||
keyEquivalentField : String
数据提供程序中的字段名称,用以确定每个菜单项的等效键。 | FlexNativeMenu | ||
keyEquivalentFunction : Function
确定每个菜单项等效键的函数。 | FlexNativeMenu | ||
keyEquivalentModifiersFunction : Function
确定每个菜单项的等效功能键的函数。 | FlexNativeMenu | ||
labelField : String
数据提供程序中的字段名称,用以确定每个菜单项的显示文本。 | FlexNativeMenu | ||
labelFunction : Function
用于确定每个菜单项的显示文本的函数。 | FlexNativeMenu | ||
mnemonicIndexField : String
数据提供程序中的字段名称,用以确定每个菜单项的助记键索引。 | FlexNativeMenu | ||
mnemonicIndexFunction : Function
确定每个菜单项的助记键索引的函数。 | FlexNativeMenu | ||
nativeMenu : NativeMenu [只读]
返回由此对象管理的 flash.display.NativeMenu;如果不存在,则返回 null。 | FlexNativeMenu | ||
nestLevel : int
此对象在所属关系层次结构中的深度。 | FlexNativeMenu | ||
numAutomationChildren : int [只读]
此容器包含的自动化子项数。 | FlexNativeMenu | ||
processedDescriptors : Boolean
临时或延迟子项创建操作后设置为 true,具体取决于发生对象。 | FlexNativeMenu | ||
showInAutomationHierarchy : Boolean
用于确定自动化对象是否显示在自动化层次中的标志。 | FlexNativeMenu | ||
showRoot : Boolean
指定是否显示数据提供程序的根节点的布尔值标志。 | FlexNativeMenu | ||
updateCompletePendingFlag : Boolean
一个标志,确定某个对象是否已通过所有三个阶段的布局验证(假设需要通过所有验证)。 | FlexNativeMenu |
方法 | 由以下参数定义 | ||
---|---|---|---|
构造函数。 | FlexNativeMenu | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
返回标识此容器中的子项的一组属性。 | FlexNativeMenu | ||
返回标识此容器中的子项的一组属性。 | FlexNativeMenu | ||
将事件调度到事件流中。 | EventDispatcher | ||
在指定位置弹出此菜单。 | FlexNativeMenu | ||
在指定的索引位置提供自动化对象。 | FlexNativeMenu | ||
提供自动化对象列表。 | FlexNativeMenu | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
标记组件,以便在稍后屏幕更新期间调用该组件的 commitProperties() 方法。 | FlexNativeMenu | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
重放指定的事件。 | FlexNativeMenu | ||
使用提供的 ID 解析子项。 | FlexNativeMenu | ||
将 InteractiveObject 的上下文菜单设置为基础本机菜单。 | FlexNativeMenu | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
取消对已设为基础本机菜单的 InteractiveObject 上下文菜单的设置。 | FlexNativeMenu | ||
验证子项的位置和大小,并绘制其他可视内容。 | FlexNativeMenu | ||
验证并更新此对象的属性和布局,并重绘该对象(如果需要)。 | FlexNativeMenu | ||
验证组件的属性。 | FlexNativeMenu | ||
如果使用此 ILayoutManagerClient 调用 LayoutManager.invalidateSize() 方法,随后在测量时调用了 validateSize() 方法,则验证组件的度量大小。 | FlexNativeMenu | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
方法 | 由以下参数定义 | ||
---|---|---|---|
处理对组件设置的属性。 | FlexNativeMenu | ||
基于 keyEquivalentField 和 keyEquivalentFunction 属性返回给定数据对象的等效键。 | FlexNativeMenu | ||
基于 keyEquivalentModifiersFunction 属性返回给定数据对象的等效功能键。 | FlexNativeMenu | ||
基于 labelField 和 labelFunction 属性,返回用作给定数据对象的菜单项标签的字符串。 | FlexNativeMenu | ||
基于 mnemonicIndexField 和 mnemonicIndexFunction 属性,返回给定数据对象的助记键索引。 | FlexNativeMenu | ||
根据是否存在下划线字符从标签中提取助记键索引。 | FlexNativeMenu | ||
确定用于 NativeMenuItem 的实际标签,方法为删除下划线字符,然后转换转义下划线字符(如果存在)。 | FlexNativeMenu |
事件 | 摘要 | 由以下参数定义 | ||
---|---|---|---|---|
[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | |||
[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher | |||
选择菜单项时调度。 | FlexNativeMenu | |||
显示菜单或子菜单前调度。 | FlexNativeMenu |
automationDelegate | 属性 |
automationEnabled | 属性 |
automationName | 属性 |
automationOwner | 属性 |
automationOwner:DisplayObjectContainer
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
用于自动化目的的此组件的所有者。
实现
public function get automationOwner():DisplayObjectContainer
public function set automationOwner(value:DisplayObjectContainer):void
automationParent | 属性 |
automationParent:DisplayObjectContainer
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
用于自动化目的的此组件的父级。
实现
public function get automationParent():DisplayObjectContainer
public function set automationParent(value:DisplayObjectContainer):void
automationTabularData | 属性 |
automationValue | 属性 |
automationVisible | 属性 |
dataDescriptor | 属性 |
dataDescriptor:IMenuDataDescriptor
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
访问并处理数据提供程序中数据的对象。FlexNativeMenu 控件委托数据描述符提供其数据的相关信息。然后,这些数据用于分析和移动数据源。为 FlexNativeMenu 定义的数据描述符可供其所有子菜单和下级菜单使用。
如果要将此属性指定为 MXML 中的某个属性,则必须使用对数据描述符的引用,而不是描述符的字符串名称。请使用下列格式设置此属性:
<mx:FlexNativeMenu id="flexNativeMenu" dataDescriptor="{new MyCustomDataDescriptor()}"/>
或者,您可以在 MXML 中将该属性指定为嵌套子标签,如下例所示:
<mx:FlexNativeMenu> <mx:dataDescriptor> <myCustomDataDescriptor> </mx:dataDescriptor> ...
默认值为 DefaultDataDescriptor 类的内部实例。
实现
public function get dataDescriptor():IMenuDataDescriptor
public function set dataDescriptor(value:IMenuDataDescriptor):void
dataProvider | 属性 |
dataProvider:Object
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
用于定义 NativeMenu 中菜单项结构的对象的层次结构。各个数据对象定义菜单项,项目及其子项将成为菜单和子菜单。
FlexNativeMenu 控件按如下方式处理源数据对象:
- 包含有效 XML 文本的字符串将转化为 XML 对象。
- XMLNode 将转化为 XML 对象。
- 将 XMLList 转换为 XMLListCollection。
- 将实现 ICollectionView 接口的任何对象转换为 ICollectionView。
- 将 Array 转换为 ArrayCollection。
- 将任何其它类型的对象作为 Array 的唯一条目纳入该 Array 中。
默认值为 "undefined"。
此属性可用作数据绑定的源。修改此属性后,将调度 collectionChange
事件。
实现
public function get dataProvider():Object
public function set dataProvider(value:Object):void
hasRoot | 属性 |
initialized | 属性 |
keyEquivalentField | 属性 |
keyEquivalentField:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
数据提供程序中的字段名称,用以确定每个菜单项的等效键。采用的一系列值在 Keyboard 类中以 KEYNAME_XXXX
常量定义。例如,查阅该列表了解控制字符(如 Home、Insert 等)的值。
设置 keyEquivalentFunction
属性将导致此属性被忽略。
默认值为 "keyEquivalent"。
此属性可用作数据绑定的源。修改此属性后,将调度 keyEquivalentChanged
事件。
实现
public function get keyEquivalentField():String
public function set keyEquivalentField(value:String):void
相关 API 元素
keyEquivalentFunction | 属性 |
keyEquivalentFunction:Function
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
确定每个菜单项等效键的函数。如果省略此属性,则 Flex 将使用 keyEquivalentField
属性指定的字段或属性的内容。如果指定了此属性,则 Flex 将忽略任何 keyEquivalentField
属性值。
keyEquivalentFunction
属性适用于处理格式化、本地化和平台独立性。
等效功能键函数必须采用一个参数,该参数是数据提供程序中的项目,并且必须返回一个字符串。
myKeyEquivalentFunction(item:Object):String
默认值为 "undefined"。
此属性可用作数据绑定的源。修改此属性后,将调度 keyEquivalentFunctionChanged
事件。
实现
public function get keyEquivalentFunction():Function
public function set keyEquivalentFunction(value:Function):void
相关 API 元素
keyEquivalentModifiersFunction | 属性 |
keyEquivalentModifiersFunction:Function
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
确定每个菜单项的等效功能键的函数。如果省略此属性,则 Flex 将使用其自身默认的函数来确定功能键的 Array,具体方法是在数据提供者数据中确定是否存在以下(布尔型)字段:altKey
、commandKey
、controlKey
和 shiftKey
。
keyEquivalentModifiersFunction
属性适用于处理格式化、本地化和平台独立性。
等效功能键函数必须采用一个参数,该参数是数据提供程序中的项目,并且必须返回一个功能键名称数组。
myKeyEquivalentModifiersFunction(item:Object):Array
默认值为 "undefined"。
此属性可用作数据绑定的源。修改此属性后,将调度 keyEquivalentModifiersFunctionChanged
事件。
实现
public function get keyEquivalentModifiersFunction():Function
public function set keyEquivalentModifiersFunction(value:Function):void
labelField | 属性 |
labelField:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
数据提供程序中的字段名称,用以确定每个菜单项的显示文本。如果数据提供程序是一个字符串 Array,则 Flex 会将每个字符串值作为标签使用。如果数据提供程序是一个 E4X XML 对象,则必须显式设置此属性。例如,如果 E4X XML 对象中的每个 XML 元素都包含一个“label”属性,其中包含每个菜单项的显示文本,则请将 labelField 设置为 "@label"
。
在标签中,您可以通过在字符前添加下划线指定将该字符用作助记键索引。例如,"C_ut"
标签值将助记键索引设置为 1。只有显示的第一个下划线具有此功能。若要在标签中显示文字下划线字符,您可以使用一条双下划线对其进行转义。例如,"C__u_t"
标签值可能会生成标签为“C_ut”、助记键索引为 3(“t”字符)的菜单项。如果存在由 mnemonicIndexField
属性定义的字段,并且设置为大于零的值,则此值将优先于任何用下划线指定的助记键索引值。
设置 labelFunction
属性将导致此属性被忽略。
默认值为 "label"。
此属性可用作数据绑定的源。修改此属性后,将调度 labelFieldChanged
事件。
实现
public function get labelField():String
public function set labelField(value:String):void
labelFunction | 属性 |
labelFunction:Function
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
用于确定每个菜单项的显示文本的函数。标签函数必须在数据提供程序中查找一个或多个相应的字段,并返回一个可显示的字符串。
如果省略此属性,Flex 将使用 labelField
属性指定的字段或属性的内容。如果指定了此属性,则 Flex 将忽略任何 labelField
属性值。
labelFunction
属性有助于处理格式化、本地化和平台独立性。
标签函数必须采用一个参数,该参数是数据提供程序中的项目,并且必须返回一个字符串。
myLabelFunction(item:Object):String
默认值为 "undefined"。
此属性可用作数据绑定的源。修改此属性后,将调度 labelFunctionChanged
事件。
实现
public function get labelFunction():Function
public function set labelFunction(value:Function):void
mnemonicIndexField | 属性 |
mnemonicIndexField:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
数据提供程序中的字段名称,用以确定每个菜单项的助记键索引。
如果此属性指定的字段中包含大于零的数值,则助记键索引将优先于标签中用下划线指定的索引。
设置 mnemonicIndexFunction
属性将导致此属性被忽略。
默认值为 "mnemonicIndex"。
此属性可用作数据绑定的源。修改此属性后,将调度 mnemonicIndexChanged
事件。
实现
public function get mnemonicIndexField():String
public function set mnemonicIndexField(value:String):void
相关 API 元素
mnemonicIndexFunction | 属性 |
mnemonicIndexFunction:Function
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
确定每个菜单项的助记键索引的函数。
如果省略此属性,Flex 将使用 mnemonicIndexField
属性指定的字段或属性的内容。如果指定了此属性,则 Flex 将忽略任何 mnemonicIndexField
属性值。
如果已定义此属性,并且该函数针对数据项目返回大于零的数值,则返回的助记键索引将优先于标签中用下划线指定的索引。
mnemonicIndexFunction
属性适用于处理格式化、本地化和平台独立性。
助记键索引函数必须采用一个参数,该参数是数据提供程序中的项目,并且必须返回一个常量。
myMnemonicIndexFunction(item:Object):int
默认值为 "undefined"。
此属性可用作数据绑定的源。修改此属性后,将调度 mnemonicIndexFunctionChanged
事件。
实现
public function get mnemonicIndexFunction():Function
public function set mnemonicIndexFunction(value:Function):void
nativeMenu | 属性 |
nativeMenu:NativeMenu
[只读] 语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
返回由此对象管理的 flash.display.NativeMenu;如果不存在,则返回 null。如果更改菜单或基础数据提供程序,则可能会丢失直接对基础 NativeMenu 实例所做的任何更改。
此属性可用作数据绑定的源。修改此属性后,将调度 nativeMenuUpdate
事件。
实现
public function get nativeMenu():NativeMenu
nestLevel | 属性 |
numAutomationChildren | 属性 |
processedDescriptors | 属性 |
processedDescriptors:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
临时或延迟子项创建操作后设置为 true
,具体取决于发生对象。对于 Container 对象,在 createComponentsFromDescriptors()
方法结束(即 Container 对象使用其子项描述符创建子项)后,该属性设置为 true
。
例如,如果 Accordion 容器使用延迟的实例化,则在用户导航到 Accordion 容器的第二个窗格并且该窗格创建其子项后,此窗格的 processedDescriptors
属性才变为 true
。但是,如果 Accordion 已将 creationPolicy
属性设置为 "all"
,则在应用程序启动期间此容器第二个窗格的 processedDescriptors
属性设置为 true
。
非容器类都没有描述符,所以对于这些类,createChildren()
方法创建任何内部组件子项后,该属性设置为 true
。
实现
public function get processedDescriptors():Boolean
public function set processedDescriptors(value:Boolean):void
showInAutomationHierarchy | 属性 |
showInAutomationHierarchy:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
用于确定自动化对象是否显示在自动化层次中的标志。层次中不可见的容器的子项显示为下一个最高可见父项的子项。通常,用于布局的容器(如框和画布)不显示在层次中。
如果合适,某些控件强制其子项在层次中显示。例如,List 控件将始终强制项呈示器(包括框)显示在层次中。实现程序必须支持将此属性设置为 true
。
实现
public function get showInAutomationHierarchy():Boolean
public function set showInAutomationHierarchy(value:Boolean):void
showRoot | 属性 |
showRoot:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
指定是否显示数据提供程序的根节点的布尔值标志。
如果数据提供程序具有根节点,但 showRoot
属性设置为 false
,则 FlexNativeMenu 控件显示的顶级菜单项与根节点的直接子节点对应。
在使用没有根节点的数据提供程序(如 List 或 Array)时,此标志不起任何作用。
默认值为 true。
实现
public function get showRoot():Boolean
public function set showRoot(value:Boolean):void
相关 API 元素
updateCompletePendingFlag | 属性 |
FlexNativeMenu | () | 构造函数 |
public function FlexNativeMenu()
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
构造函数。
commitProperties | () | 方法 |
protected function commitProperties():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
处理对组件设置的属性。
相关 API 元素
createAutomationIDPart | () | 方法 |
public function createAutomationIDPart(child:IAutomationObject):Object
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
返回标识此容器中的子项的一组属性。在应用程序的生命期内,不应更改这些值。
参数
child:IAutomationObject — 为其提供 ID 的子项。
|
Object — 描述稍后可用于解析组件的子项的几组属性。
|
createAutomationIDPartWithRequiredProperties | () | 方法 |
public function createAutomationIDPartWithRequiredProperties(child:IAutomationObject, properties:Array):Object
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
返回标识此容器中的子项的一组属性。在应用程序的生命期内,不应更改这些值。
参数
child:IAutomationObject — 为其提供 ID 的子项。
| |
properties:Array |
Object — 描述稍后可用于解析组件的子项的几组属性。
|
display | () | 方法 |
getAutomationChildAt | () | 方法 |
public function getAutomationChildAt(index:int):IAutomationObject
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
在指定的索引位置提供自动化对象。该列表不应包含任何复合子项。
参数
index:int — 要返回的子项的索引
|
IAutomationObject — 位于指定索引位置处的子项。
|
getAutomationChildren | () | 方法 |
invalidateProperties | () | 方法 |
public function invalidateProperties():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
标记组件,以便在稍后屏幕更新期间调用该组件的 commitProperties()
方法。
Invalidation 是一个很有用的机制,可将组件更改延迟到稍后屏幕更新时进行处理,从而消除了重复的工作。例如,要更改文本颜色和大小,如果在更改颜色后立即进行更新,然后在设置大小后再更新大小,就有些浪费。同时更改两个属性后再使用新的大小和颜色一次性呈示文本,效率会更高。
很少调用 Invalidation 方法。通常,在组件上设置属性会自动调用合适的 invalidation 方法。
itemToKeyEquivalent | () | 方法 |
itemToKeyEquivalentModifiers | () | 方法 |
itemToLabel | () | 方法 |
itemToMnemonicIndex | () | 方法 |
parseLabelToMnemonicIndex | () | 方法 |
parseLabelToString | () | 方法 |
replayAutomatableEvent | () | 方法 |
resolveAutomationIDPart | () | 方法 |
setContextMenu | () | 方法 |
public function setContextMenu(component:InteractiveObject):void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
将 InteractiveObject 的上下文菜单设置为基础本机菜单。
参数
component:InteractiveObject — 交互式对象。
|
unsetContextMenu | () | 方法 |
public function unsetContextMenu(component:InteractiveObject):void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
取消对已设为基础本机菜单的 InteractiveObject 上下文菜单的设置。
参数
component:InteractiveObject — 交互式对象。
|
validateDisplayList | () | 方法 |
public function validateDisplayList():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
验证子项的位置和大小,并绘制其他可视内容。如果使用此 ILayoutManagerClient 调用 LayoutManager.invalidateDisplayList()
方法,则当更新显示列表时会调用 validateDisplayList()
方法。
validateNow | () | 方法 |
public function validateNow():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
验证并更新此对象的属性和布局,并重绘该对象(如果需要)。
validateProperties | () | 方法 |
public function validateProperties():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
验证组件的属性。如果使用此 ILayoutManagerClient 调用 LayoutManager.invalidateProperties()
方法,则当提交属性值时会调用 validateProperties()
方法。
validateSize | () | 方法 |
itemClick | 事件 |
mx.events.FlexNativeMenuEvent
属性 FlexNativeMenuEvent.type =
mx.events.FlexNativeMenuEvent.ITEM_CLICK
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
选择菜单项时调度。
FlexNativeMenuEvent.ITEM_CLICK 事件类型常量指示用户已选择菜单项。此事件类型的事件对象属性包含以下值。并非所有属性对于各种事件都有意义。有关详细信息,请参阅详细的属性说明。
属性 | 值 |
---|---|
bubbles | false |
cancelable | true |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
index | 选定菜单项在菜单中的索引。 |
item | dataProvider 中选定的项目。 |
label | 选定菜单项的标签文本。 |
nativeMenu | 与此事件关联的特定 NativeMenu 实例。 |
nativeMenuItem | 与此事件关联的特定 NativeMenuItem 实例。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
type | FlexNativeMenuEvent.ITEM_CLICK |
menuShow | 事件 |
mx.events.FlexNativeMenuEvent
属性 FlexNativeMenuEvent.type =
mx.events.FlexNativeMenuEvent.MENU_SHOW
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | AIR 1.1 |
显示菜单或子菜单前调度。
FlexNativeMenuEvent.MENU_SHOW 类型常量指示鼠标指针已滑过菜单或子菜单已打开。此事件类型的事件对象属性包含以下值。并非所有属性对于各种事件都有意义。有关详细信息,请参阅详细的属性说明。
属性 | 值 |
---|---|
bubbles | false |
cancelable | true |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
index | -1。对于这种类型的事件未设置此属性。 |
item | null。对于这种类型的事件未设置此属性。 |
label | null。对于这种类型的事件未设置此属性。 |
nativeMenu | 与此事件关联的特定 NativeMenu 实例。 |
nativeMenuItem | null。对于这种类型的事件未设置此属性。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
type | FlexNativeMenuEvent.MENU_SHOW |
Tue Jun 12 2018, 11:04 AM Z