Как правильно расположить компонент Flex для прокрутки - PullRequest
0 голосов
/ 23 марта 2012

В следующем коде у меня есть один большой компонент, и я бы хотел, чтобы прокручивалась только панель level4, но вместо этого прокручивалось все приложение.

Есть предложения? Спасибо

<?xml version="1.0" encoding="utf-8"?>
<mx:Application  xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Panel width="100%" height="100%" title="level1">
    <mx:Panel width="100%" height="100%" title="level2">
        <mx:HDividedBox width="100%" height="100%">

            <mx:TextArea width="200" height="100%"/>
            <mx:Panel width="100%" height="100%" title="level3">
                <mx:ApplicationControlBar width="100%" dock="true">
                    <mx:Spacer width="30"/>
                    <mx:LegendItem  width="80" height="20" fill="#CC9900" label="test1"/>

                </mx:ApplicationControlBar>
                <mx:Panel width="100%" height="100%" title="level4">
                    <mx:UIComponent width="2000" height="2000"/>
                </mx:Panel>
            </mx:Panel>
        </mx:HDividedBox>
    </mx:Panel>
</mx:Panel>
</mx:Application>

Если я установлю ScrollPolicy, то полоса прокрутки не будет отображаться. Пожалуйста, проверьте следующее, спасибо.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application  xmlns:mx="http://www.adobe.com/2006/mxml" horizontalScrollPolicy="off" verticalScrollPolicy="off">
<mx:Panel width="100%" height="100%" title="level1" horizontalScrollPolicy="off" verticalScrollPolicy="off">
    <mx:Panel width="100%" height="100%" title="level2" horizontalScrollPolicy="off" verticalScrollPolicy="off">
        <mx:HDividedBox width="100%" height="100%">

            <mx:TextArea width="200" height="100%"/>
            <mx:Panel width="100%" height="100%" title="level3" horizontalScrollPolicy="off" verticalScrollPolicy="off">
                <mx:ApplicationControlBar width="100%" dock="true">
                    <mx:Spacer width="30"/>
                    <mx:LegendItem  width="80" height="20" fill="#CC9900" label="test1"/>

                </mx:ApplicationControlBar>
                <mx:Panel width="100%" height="100%" title="level4" horizontalScrollPolicy="auto"  verticalScrollPolicy="auto">
                    <mx:UIComponent width="2000" height="2000"/>
                </mx:Panel>
            </mx:Panel>
        </mx:HDividedBox>
    </mx:Panel>
</mx:Panel>
</mx:Application>

Ответы [ 2 ]

1 голос
/ 27 марта 2012

Установить макет = "абсолютный" для панели level4.

0 голосов
/ 23 марта 2012

Вы можете изменить значение .verticalScrollBarPolicy для каждой панели, установив его на "off" для панелей, которые не должны прокручиваться, и на "on" или "auto" для панелей, которые должны прокручиваться.Существует также параметр .horizontalScrollBarPolicy, если вам это необходимо.

...