gpt4 book ai didi

flex4 - 以编程方式启用/禁用 Flex 4 中的菜单栏按钮

转载 作者:行者123 更新时间:2023-11-30 23:58:22 25 4
gpt4 key购买 nike

我的 Flex4 (AIR) 项目中有以下 XML,用于定义菜单界面的开始:

<mx:MenuBar x="0" y="0" width="100%" id="myMenuBar" labelField="@label" itemClick="menuChange(event)">
<mx:dataProvider>
<s:XMLListCollection>
<fx:XMLList xmlns="">
<menu label="File">
<item label="New"/>
<item label="Load"/>
<item label="Save" enabled="false"/>
</menu>
<menu label="Help">
<item label="About"/>
</menu>
</fx:XMLList>
</s:XMLListCollection>
</mx:dataProvider>
</mx:MenuBar>

我试图找到一种语法,让我在通过单击“加载”加载文件后将保存按钮设置为启用 = true,但是我无法弄清楚语法,有人可以提出建议吗?

目前检测按钮点击的方式是通过 Switch/Case 测试 MenuEvent event.item.@label 的 String 结果。也许这不是最好的方法?

最佳答案

回答我自己的问题......再次。我正在做的事情似乎没有人想要回答???

无论如何,这里是:

事实证明,由于菜单栏是在 XML 中定义的并且它是完全任意的,因此它完全取决于您决定如何定义菜单,在我的情况下,根据上面的菜单 XML,更改 Save 的“启用”状态的语法按钮如下。

menubarXML.item.(@label=="Save").@enabled = "true";

其中 enubarXML 是一个 XMLListCollection,其中包含我单独重新定义的 XMLList。
[Bindable]
public var menuBarCollection:XMLListCollection;

private var menubarXML:XMLList =<>
<menu label="File">
<menuitem label="New" data="1A"/>
<menuitem label="Open" data="1B"/>
<menuitem label="Save" data="1C" enabled="false"/>
</menu>
<menu label="Help" data="2A">
<menuitem label="About" data="2A"/>
</menu>
</>;

然后在应用程序创建完成时调用此函数:
private function initCollections():void {
menuBarCollection = new XMLListCollection(menubarXML);
}

当然还有菜单栏的 XML 定义(根据需要自定义):
<mx:MenuBar id="myMenuBar" labelField="@label" itemClick="menuChange(event)" dataProvider="{menuBarCollection}"/>

希望有人发现我的劳动成果有用。

关于flex4 - 以编程方式启用/禁用 Flex 4 中的菜单栏按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3960675/

25 4 0