Apache flex 关联菜单在flash player 10.1中不起作用
我编写了一个flex应用程序。我在上下文菜单中添加了一些自定义菜单项。当我使用FlashPlayer10.0编译这段代码时,它运行良好,当我右键单击时,会显示我添加的上下文菜单项。但当我为flashPlayer 10.1编译相同的代码时,右键单击时,在上下文菜单中添加的菜单项不会显示。我应该如何解决此问题? 我使用的是sdk 3.5 任何帮助或建议都将不胜感激 我正在这样做Apache flex 关联菜单在flash player 10.1中不起作用,apache-flex,flex3,flexbuilder,Apache Flex,Flex3,Flexbuilder,我编写了一个flex应用程序。我在上下文菜单中添加了一些自定义菜单项。当我使用FlashPlayer10.0编译这段代码时,它运行良好,当我右键单击时,会显示我添加的上下文菜单项。但当我为flashPlayer 10.1编译相同的代码时,右键单击时,在上下文菜单中添加的菜单项不会显示。我应该如何解决此问题? 我使用的是sdk 3.5 任何帮助或建议都将不胜感激 我正在这样做 private var cm:ContextMenu = new ContextMenu();
private var cm:ContextMenu = new ContextMenu();
var versionMenu:ContextMenuItem = null;
var dateMenu:ContextMenuItem = null;
if(model.appVersion.length > 0)
{
versionMenu = new ContextMenuItem(model.appVersion);
}
if(model.releaseDate.length > 0)
{
dateMenu = new ContextMenuItem(model.releaseDate);
}
cm.hideBuiltInItems();
var cmArray:Array = new Array();
if(versionMenu != null)
cmArray.push(versionMenu);
if(dateMenu != null)
cmArray.push(dateMenu);
cm.customItems = cmArray;
谢谢。没有理由。它在flashPlayer 10.1中对我来说很好。此外,它在10.1中列出,如下所示:
提醒代码中的isSupported属性进行双重检查(这肯定是真的) 如果您试图为
应用程序创建上下文菜单,则以下是正确的代码:
<s:Application ... initialize="init();">
private function init():void
{
var versionItem:ContextMenuItem = new ContextMenuItem("Version 1.5.443");
contextMenu.hideBuiltInItems();
contextMenu.customItems = [ versionItem ];
}
</s:Application>
私有函数init():void
{
var versionItem:ContextMenuItem=新的ContextMenuItem(“版本1.5.443”);
contextMenu.hideBuiltInItems();
contextMenu.customItems=[versionItem];
}
我愿意打赌,如果您在versionMenu=newcontextmenuitem(model.appVersion)上放置断点代码>或<代码>日期菜单=新上下文菜单项(model.releaseDate)代码>它们不会被击中。删除if语句并直接设置它们。@Basarat Ali:我在两个ifs中都放置了警报。它们被命中并显示警报。但是contextMenu中的条目没有显示。我假设您已经使用:contextMenu=“{cm}”绑定将上下文菜单添加到舞台上的某个项目中。或者在代码中设置后台某个项目的contextMenu属性。我在应用程序标记中这样做。contextMenu=“{cm}”。是的,这个上下文菜单是可绑定的。这有什么问题吗?我怎样才能让它工作?你在做什么?一个简单的这个代码>一点用都没有你用的是Flash播放器上的AIR吗?空中上下文菜单项不能重复使用。这是一个flex应用程序。当我使用flashplayer 10.0时,它工作正常,但当我使用flashplayer 10.1时,它不工作。