2016-08-18 36 views
-1

当mxml页面加载时,我试图隐藏Year2017。我使用可见和includeInLayout属性,但它似乎并没有工作。Flex - 使用visible和includeInLayout隐藏mxml

有人能帮助我吗?

一些代码写上 - Year2017.mxml, Year2016.mxml, Year2015.mxml

MainScreen.mxml

<mx:HBox 
    <component:PopupOpenerViewStack 
       id="payeVS" 
       borderStyle="none" 
       width="100%" 
       height="100%" 
       componentToFocusOn="{controlBar.overviewBut}" 
       selectedIndex="{ this.mainModel.navigator.selectedIndex }" > 

       <view1:Year2017 
        width="100%" 
        height="100%" 
        visible="{isVisible}" 
        includeInLayout="{isVisible}" /> 

       <view1:Year2016 
        width="100%" 
        height="100%"/> 

       <view1:Year2015 
        width="100%" 
        height="100%"/>      
     </component:PopupOpenerViewStack> 
</mx:HBox> 
+0

你是如何宣称ISVISIBLE?确保它是可绑定的。 –

+0

是的,我做到了。 [Bindable] private var isVisible:Boolean = false;即使我试过硬编码isVisible =“false”和includeInLayout =“false”。 Dint的工作:( – Techie

+0

我认为问题出在组件:PopupOpenerViewStack。如果它使用Flex PopupManager,那么可见和includeInLayout不会帮助,请确认它是否使用adobe的PopupManager。 –

回答

0

方式viewstacks工作是他们显示基于指数的孩子。在这种情况下,它将在Popup中打开。我需要PopupOpener的内部来给出更准确的答案。

而不是设置isVisble,你不能改变this.mainModel.navigator.selectedIndex?

它也取决于期望的行为。如果打开弹出窗口并将其更改为可见,需要做什么?

0

我想你想要的是,2007年不包括在堆栈中,不会被隐藏。你有尝试过使用状态吗?

0

感谢您的所有输入。问题已解决。

正如Robin提到visible或includeInLayout属性不能与PopupOpenerViewStack一起使用。所以我必须读取viewStack中每个项目的索引值,并且每当我想要隐藏一个元素时都执行payeVS.removeChildAt(0)。

感谢, Varatha