【问题标题】:Reference to Parent MXML within an AS3 Class?在 AS3 类中引用父 MXML?
【发布时间】:2012-02-27 12:30:40
【问题描述】:

我的 Flex 项目中有一个 AS3 课程:

package system
{
    import mx.managers.PopUpManager;

    import ui.Eula;

    public class Dialogs
    {
        public function Dialogs(){}

        public static function showEula():void {
            var eulaWindow:Eula = new Eula;
            PopUpManager.addPopUp(eulaWindow,MyMainMXML,true);
        }
    }
}

MyMainMXML 是我的基本 MXML 文件。它不会让我通过我的班级引用它。我怎么做?编译错误如下:

1067:将 Class 类型的值隐式强制转换为不相关的类型 flash.display:DisplayObject。

主 MXML 文件是 spark WindowedApplication,所以我认为它是 DisplayObjects 的一部分。

编辑:

我尝试使用如下所示的 FlexGlobals,但它发出了一个错误,提示 1118: Implicit coercion of a value with static type Object to a possible unrelated type flash.display:DisplayObject.

package system
{
    import mx.core.FlexGlobals;
    import mx.managers.PopUpManager;

    import ui.Eula;

    public class Dialogs
    {
        public function Dialogs(){}

        public static function showEula():void {
            var eulaWindow:Eula = new Eula;
            PopUpManager.addPopUp(eulaWindow,FlexGlobals.topLevelApplication,true);
        }
    }
}

【问题讨论】:

  • 使用 Flexglobals.topLevelApplication

标签: actionscript-3 apache-flex air flash-builder mxml


【解决方案1】:

使用 FlexGlobals.topLevelApplication 会返回一个 Object 类型的对象(是的,我知道,这听起来很多余:P)。但是,如果是 DisplayObject,则 addPopUp 2nd 参数。因此,这应该可以解决问题:

PopUpManager.addPopUp(eulaWindow,FlexGlobals.topLevelApplication as DisplayObject,true);

我不能 100% 确定为什么 FlexGlobals.topLevelApplication 不返回 DisplayObject,这可能是一个低级问题。

【讨论】:

    【解决方案2】:

    您可以从

    获取主应用程序引用

    FlexGlobals.topLevelApplication

    mx.core.FlexGlobals.topLevelApplication:顶级应用程序对象,无论您的对象在文档树的哪个位置执行。此对象的类型为 spark.components.Application 或 mx.core.Application。

    【讨论】:

    • 嗯,它现在给我以下错误:1118:将静态类型 Object 的值隐式强制转换为可能不相关的类型 flash.display:DisplayObject。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多