我正在使用Flex 4.5,并且已将我写入的自定义类导入主MXML文件。
在类文件中,我希望能够使用TitleWindow
创建PopUpManager
,如下所示:
package classes {
import components.*; // My custom components
import mx.managers.PopUpManager;
public class SomeClass {
public function showPopUp():void {
PopUpManager.createPopUp(this,NewProjectPrompt,true);
}
}
}
NewProjectPrompt
是我制作的自定义组件。编译器给出了以下错误:
1067: Implicit coercion of a value of type classes:Project to an unrelated type flash.display:DisplayObject.
这是因为this
未指向WindowedApplication
。如何使.createPopUp()
中的第一个参数指向WindowedApplication
?
答案 0 :(得分:2)
此代码有效!
公共功能showPopUp(){
PopUpManager.createPopUp(FlexGlobals.topLevelApplication as DisplayObject,NewProjectPrompt,true);
}
答案 1 :(得分:1)
如果您的WindowedApplication文件名为“MyApp.mxml”,那么您可以将组件中的引用写入它:
MyApp(this.parentApplication)
这将返回实际的WindowedApplication,您可以调用其公共方法,或者在需要时将其粘贴到变量中。