Как динамически настроить текущую страницу в flexbook? - PullRequest
1 голос
/ 08 октября 2011

Я использую Flexbook, который содержит 2 BorderContainer. Код показан ниже

<controls:FlexBook id="book" x="20" y="20"
               width="100%" height="100%" horizontalCenter="0" 
               animateCurrentPageIndex="true"
               showCornerTease="true" animatePagesOnTurn="true" 
               activeGrabArea="edge"
               edgeAndCornerSize="20" 
               hardbackPages="false"
               hardbackCovers="false"
               pageShadowStrength="1"
               curveShadowStrength="1"
               pageSlope="0"
               itemSize="page"
               backgroundColor="0xC3D1D9"
               borderThickness="0"
               borderColor="0xC3D1D9"
               cover="{null}"
               backCover="{null}"
               showPageSlopeAtRest="false" 
               cacheAsBitmap="true">

<s:BorderContainer id="page1">


    <mx:ColumnChart x="0" y="35" id="ccMain" height="90%" width="99%"
                    cacheAsBitmap="true"
                    showDataTips="true"  dataTipFunction="{getDataTip}"  type="clustered" backgroundElements="{bge4}">
            <!-- column chart code goes here -->
    </mx:ColumnChart>

</s:BorderContainer>


<s:BorderContainer id="page2" creationComplete="productMainPg2.addElement(lineChart)">
    <mx:Legend dataProvider="{lineChart}" height="21" x="10" width="95%" color="#b1b7f4"/>
</s:BorderContainer>

Этот код показывает страницу 1 как текущую страницу. Я хочу показать BorderContainer (id = page2) как мою текущую страницу динамически при нажатии кнопки. Я попытался установить currentPageIndex = 1, но при этом я получил пустую страницу.

1 Ответ

0 голосов
/ 10 октября 2011
  1. Создать логическое свойство [Bindable] (т. Е. [Bindable] public var isShowingFirstPage:Boolean = true)
  2. Установите свойства BorderContainer "visible" и "includeInLayout", которые будут зависеть от этого значения. (т.е. ... id="page1" visible="{isShowingFirstPage:Boolean}" includeInLayout="{isShowingFirstPage:Boolean} ... для первого и ... id="page2" visible="{!isShowingFirstPage:Boolean}" includeInLayout="{!isShowingFirstPage:Boolean} ... для второго)
  3. переключение / изменение этого логического значения на основе некоторого ввода, пользовательского жеста, бизнес-логики, чего бы то ни было, и оба контейнера должны отображаться / обновляться соответственно.
...