2011-07-07 55 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'弹出窗口的好主意。首先,这是糟糕的用户体验,并会使您的弹出窗口进入错误状态。如果有的话,在你的根中有所有弹出式声明并绑定到它们的打开属性。