заставляя дочерний компонент изменять свой размер больше, чем его контейнер - PullRequest
0 голосов
/ 30 марта 2010

Я создаю компонент, который отображает переменное количество «мер» (квадратных плиток контента, если хотите), которое выложено так:

   <HDividedBox id="container">
    <VBox id="myComponent">
     <HBox id="header">
      ...header content...
     </HBox>
     <Tile id="body">
      ...gauges are added to the body...
     </Tile>
    </Vbox>
   </HDividedBox>

Плитка кузова имеет горизонтальное направление. Когда я перетаскиваю HDividedBox, чтобы уменьшить размер myComponent, компонент тела также будет уменьшаться, и, в конце концов, если будет слишком много индикаторов для горизонтального размещения, они будут перенесены на следующую строку, и, следовательно, чем меньше я сделаю myComponent, тем меньше число. вертикально уложенных датчиков растет.

Это все хорошо. Проблема заключается в том, что независимо от того, какую комбинацию настроек я использую, я абсолютно не могу получить размер тела (плитки), превышающий размер myComponent, что в идеале заставило бы myComponent прокручиваться вертикально. Даже установив maxHeight тела в какое-то огромное значение, оно никогда не будет иметь размер больше, чем его контейнер.

Есть идеи, как этого добиться?

Спасибо

1 Ответ

0 голосов
/ 30 марта 2010

Если вы принудительно установите высоту своего VBox или HDividedBox, затем установите политику прокрутки плиток и продолжите добавлять к ней компоненты, в конце концов вы увидите полосу прокрутки

<mx:HDividedBox x="400" y="300" width="200" height="150">
    <mx:VBox width="100%" height="100%" >
        <mx:HBox width="100%" height="100%">
                        <mx:Button label="Header"/>
                        <mx:Button label="Header"/>
        </mx:HBox>
            <mx:Tile verticalScrollPolicy="on" width="100%">
                        <mx:Button label="Gauge"/>
                        <mx:Button label="Gauge"/>
                        <mx:Button label="Gauge"/>
                        <mx:Button label="Gauge"/>
                        <mx:Button label="Gauge"/>
                        <mx:Button label="Gauge"/>
                        <mx:Button label="Gauge"/>
                        <mx:Button label="Gauge"/>
                        <mx:Button label="Gauge"/>
                        <mx:Button label="Gauge"/>
                        <mx:Button label="Gauge"/>
            </mx:Tile>
    </mx:VBox>
</mx:HDividedBox>
...