2009年10月7日 星期三

Popup Window 與 MainWindow 數值傳遞-Using Event Listenner

1.如果使用MVC框架,相信这并不是一个问题。而如果没有使用的话,可以用类似的方法设置一个单例,子窗口和父窗口通过这个单例来交互消息,如果需要解耦,请发送自定义事件。总之,只要按照MVC思路来做就可以了。
2.类似JS,在子窗口的构造函数里增加一个参数,将父窗口传参进去。MXML没有构造函数,用一个属性来保存父窗口引用也可以。
3.无论是createPopUp还是addPopUp,他们都有一个返回值,得到子窗口的实例。可以对这个实例监听remove事件,并在这个事件中直接读取子窗口需要返回给父窗口的属性。(记得要将这个事件最终移除)



以使用TitleWindow為例

step 1.在 main window 中,建立一個新的TitleWindow類別為LoginWindow

LoginWindow = TitleWindow(PopUpManager.createPopUp(this, GPSLoginForm, false));

step 2.為LoginWindow新增一個監聽事件,當事件發生時,執行ChangeLoginInfo()函式
LoginWindow.addEventListener("Login_click",ChangeLoginInfo);

step 3.建立ChangeLoginInfo()的內容

private function ChangeLoginInfo(event:Event):void{
btn_Login.visible = false; PopUpManager.removePopUp(LoginWindow);
}


在TitleWindow頁面中
step 1.於該控制項指定 Click事件要處理的函式


step2 . 在該Click事件中,設定
dispatchEvent(new Event("Login_click"));




全文詳見
http://uh.9ria.com/space.php?uid=36296&do=blog&id=2037

沒有留言:

張貼留言