2011-07-07 130 views
0

我有一個香菜彈出窗口,可以創建另一個彈出窗口。香菜彈出顯示2彈出

當我關閉根彈出窗口,當我再次打開彈出窗口並單擊子彈出窗口時,它實際上打開了2個子彈出窗口,問題就出現了。

任何想法爲什麼會發生這種事?

我已經爲根和子彈出窗口創建了reuse ='false'和模態='true'。

<parsley:PopUp open="{presenter.scenarioCreatePopup}" modal="true" center="true" reuse="false" id="hem" > 
     <views:ScenarioView width="100%" height="100%" id="scenarioView"/> 
    </parsley:PopUp> 
</fx:Declarations> 

兒童(ScenarioView)

<fx:Declarations> 

    <parsley:Configure /> 

    <parsley:PopUp open="{templatePresenter.showTemplatePopup}" modal="true" reuse="false" center="true"> 
     <views:TemplateView width="100%" height="100%" id="templateView"/> 
    </parsley:PopUp> 

    <parsley:PopUp open="{tpPresenter.portfolioCreatePopup}" modal="true" reuse="false" center="true"> 
     <views:PortfolioSetupTitleView id="portfolioSetupTitleView"/> 
    </parsley:PopUp> 

</fx:Declarations> 
+0

難道你不想重複使用= true?另外,打開第二個彈出窗口的代碼在哪裏?很可能你沒有清理它。 –

+0

我添加了子代碼。我決定使用reuse = false,因爲我想每次都創建新的實例(並且不需要處理狀態問題) – Rudy

+0

在創建子進程之後調試跟蹤根的systemManager.popUpChildren。 – Nate

回答

1

我認爲,這裏的問題是,當您關閉彈出窗口,你不將打開的綁定屬性設置爲false。我認爲在您再次打開系統時會出現繼承問題。

這也可能是不是有這種'hiearchical'彈出窗口的好主意。首先,這是糟糕的用戶體驗,並會使您的彈出窗口進入錯誤狀態。如果有的話,在你的根中有所有彈出式聲明並綁定到它們的打開屬性。