Flex ActionScript XMLList 菜单栏问题

发布于 2024-11-03 11:37:56 字数 621 浏览 2 评论 0原文

我正在 Flex 4 中工作,并且想要使用 MenuBar 控件,它需要 XMLList 来填充其项目,但问题是,我想在菜单的子项目上应用 if 条件,让我用示例解释我的问题:

var menubarXML:XMLList;

menubarXML=
<>
   <menuitem label="File">
   <menuitem label="New Sheet" data="new_sheet"/>
   <menuitem label="Open Existing" data="open_sheet"/>
   <menuitem label="Print" data="print"/>
   //i want to apply condition here     
   <menuitem label="Save" data="save_pdf"/>
   <menuitem label="Exit" data="exit"/>
   </menuitem>
</>

例如,我如何应用 if (anyflag==true) 这样的条件禁用我的保存菜单子项,当然问题很简单,这个问题可以很容易地在 Java 和 PHP 中解决。

I am working in Flex 4, and wana use MenuBar control, it requires XMLList to populate its items, but the problem is, i want to apply if conditions on sub items of my menu, let me explain my problem with example:

var menubarXML:XMLList;

menubarXML=
<>
   <menuitem label="File">
   <menuitem label="New Sheet" data="new_sheet"/>
   <menuitem label="Open Existing" data="open_sheet"/>
   <menuitem label="Print" data="print"/>
   //i want to apply condition here     
   <menuitem label="Save" data="save_pdf"/>
   <menuitem label="Exit" data="exit"/>
   </menuitem>
</>

For example, how can i apply condition like if (anyflag==true) disable my save menu sub item, of course the question is simple, and this issue can easily be tackled in Java and PHP.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

以酷 2024-11-10 11:37:56

在您的 XML 中具有一个属性,其中启用 = true 或 false;

<menuitem label="File">
<menuitem label="New Sheet" data="new_sheet" enable = "true"/>
<menuitem label="Open Existing" data="open_sheet" enable = "true"/>
<menuitem label="Print" data="print" enable = "false"/>
</menuitem>

现在,在解析 xml 时检查启用是 true 还是 false,基于此您可以控制菜单及其子项。

Have an attribute in your XML with enable = true or false;

<menuitem label="File">
<menuitem label="New Sheet" data="new_sheet" enable = "true"/>
<menuitem label="Open Existing" data="open_sheet" enable = "true"/>
<menuitem label="Print" data="print" enable = "false"/>
</menuitem>

Now while parsing your xml check whether the enable is true or false, based on that you can control your menu and its child items.

瞎闹 2024-11-10 11:37:56

您还可以为菜单定义自己的描述符,在其中覆盖方法isEnabled以使用渲染示例上的标记启用或禁用项目,并且

public class MyDescriptor extends DefaultDataDescriptor
{

    public function MyDescriptor()
    {
        super();

    }

    override public function isEnabled(node:Object):Boolean
    {
                    return 'true'==node.anytag;
    }

}

菜单

menu = Menu.createMenu(this, dataprovider, false);
menu.dataDescriptor = new MyDescriptor();

有帮助的希望

You can also define you own discriptor for your menu in which you override method isEnabled to enable or disable an items using tag on renderering sample is as

public class MyDescriptor extends DefaultDataDescriptor
{

    public function MyDescriptor()
    {
        super();

    }

    override public function isEnabled(node:Object):Boolean
    {
                    return 'true'==node.anytag;
    }

}

and Menu is then created as

menu = Menu.createMenu(this, dataprovider, false);
menu.dataDescriptor = new MyDescriptor();

Hopes that helps

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文