设计思路:

利用<mx:menuitem></mx:menuitem>中的enabled属性控制指定的菜单项是否可用。

由于需要动态设置,因此设置对应的全局变量与该属性进行绑定(即添加[Bindable]标签)

 

代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
				layout="absolute">
	<mx:Script>
		<!--[CDATA[
			[Bindable]
			private var saveEnabledFlag:Boolean=true;

			private function disableSave():void
			{
				saveEnabledFlag=false;
			}

			private function enableSave():void
			{
				saveEnabledFlag=true;
			}
		]]-->
	</mx:Script>
	<mx:VBox width="100%"
			 height="100%"
			 horizontalAlign="center">
		<mx:MenuBar id="mainMenu"
					width="100%"
					labelField="@label">
			<mx:XMLList>
				<menuitem label="Operation">
					<mx:menuitem label="Find"/>
					<mx:menuitem label="Save"
								 enabled="{saveEnabledFlag}"/>
				</menuitem>
			</mx:XMLList>
		</mx:MenuBar>
		<mx:Button label="Disable Save"
				   click="disableSave()"/>
		<mx:Button label="Enable Save"
				   click="enableSave()"/>
	</mx:VBox>
</mx:Application>

 

演示效果:

Enable Status:

FLEX实践—动态控制MenuItem是否可用_encoding

 

Disable Status:

FLEX实践—动态控制MenuItem是否可用_flex_02