Apache flex flex 4空气关闭第二个窗口

Apache flex flex 4空气关闭第二个窗口,apache-flex,air,Apache Flex,Air,我有一个air应用程序,当单击打开一个新的spark.window组件时,它有一个按钮。窗口中有一个视频播放器。新的secondWindow.open()方法工作正常。我似乎不能在父窗口关闭时关闭第二个窗口 我有这个: //parent window <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/

我有一个air应用程序,当单击打开一个新的spark.window组件时,它有一个按钮。窗口中有一个视频播放器。新的secondWindow.open()方法工作正常。我似乎不能在父窗口关闭时关闭第二个窗口

我有这个:

//parent window
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx"
                   minWidth="733" minHeight="653" creationComplete="main()" currentState="loginForm" applicationDeactivate="windowedapplication1_applicationDeactivateHandler(event)">

//close second window
        protected function windowedapplication1_applicationDeactivateHandler(event:Event):void{
        NativeApplication.nativeApplication.openedWindows[0].close();
        }
</s:WindowedApplication>

//second window
<s:Window name="secondWindow" xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="450" minHeight="323" windowComplete="init()">
//video player code is here
</s:Window>
//父窗口
//关闭第二个窗口
受保护的函数windowedapplication1\u ApplicationActivateHandler(事件:事件):无效{
NativeApplication.NativeApplication.openedWindows[0].close();
}
//第二窗口
//视频播放器代码在这里
主要应用程序:

<?xml version="1.0"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                       xmlns:s="library://ns.adobe.com/flex/spark"
                       width="100%" height="100%"
                       creationComplete="_creationComplete()"
                       closing="_closingHandler(event)">

    <fx:Script><![CDATA[
        private var _testWindow:TestWindow;

        private function _creationComplete():void
        {
            butt.addEventListener(MouseEvent.CLICK, _butt_clickHandler);
        }

        private function _butt_clickHandler(event:MouseEvent):void
        {
            if(_testWindow)
            {
                return;
            }
            _testWindow = new TestWindow();
            _testWindow.open();
        }

        private function _closingHandler(event:Event):void
        {
            var openedWindows:Array = nativeApplication.openedWindows;
            var i:uint;
            var count:uint = openedWindows.length;
            for(i; i < count; i++)
            {
                openedWindows[i].close();
            }
        }
        ]]></fx:Script>

    <s:Button id="butt" label="Open"/>
</s:WindowedApplication>

子窗口(TestWindow.mxml):


kostik,我向你脱帽致敬。最后,我只需要_closingHandler函数就可以在父窗口关闭时让子窗口关闭。我想当我尝试将openWindows放入错误的类型时,我搞砸了,而我本应该使用数组。再次谢谢你,约翰h
<?xml version="1.0"?>
<s:Window xmlns:fx="http://ns.adobe.com/mxml/2009"
          xmlns:s="library://ns.adobe.com/flex/spark"
          width="300" height="300">
    <s:Label text="Test Window" />
</s:Window>